{"id":29605796,"url":"https://github.com/joacod/django-playground","last_synced_at":"2026-05-03T12:37:23.964Z","repository":{"id":303969069,"uuid":"1017317177","full_name":"joacod/django-playground","owner":"joacod","description":"Django playground","archived":false,"fork":false,"pushed_at":"2025-07-16T00:52:05.000Z","size":41,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-19T11:10:13.800Z","etag":null,"topics":["django","python3"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joacod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-10T10:53:01.000Z","updated_at":"2025-07-13T20:09:37.000Z","dependencies_parsed_at":"2025-07-10T19:18:28.412Z","dependency_job_id":null,"html_url":"https://github.com/joacod/django-playground","commit_stats":null,"previous_names":["joacod/django-playground"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joacod/django-playground","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joacod%2Fdjango-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joacod%2Fdjango-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joacod%2Fdjango-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joacod%2Fdjango-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joacod","download_url":"https://codeload.github.com/joacod/django-playground/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joacod%2Fdjango-playground/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266161011,"owners_count":23885886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","python3"],"created_at":"2025-07-20T16:37:58.902Z","updated_at":"2026-05-03T12:37:23.950Z","avatar_url":"https://github.com/joacod.png","language":"JavaScript","funding_links":["https://www.buymeacoffee.com/joacod"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Django Playground\n\n[![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/joacod/django-playground/blob/main/LICENSE)\n\n[![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54)](https://www.python.org)\n[![Django](https://img.shields.io/badge/django-%23092E20.svg?style=for-the-badge\u0026logo=django\u0026logoColor=white)](https://www.djangoproject.com)\n[![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB)](https://react.dev/)\n[![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)](https://www.docker.com/)\n\n\u003c/div\u003e\n\n## 👋 Introduction\n\nFull-stack Django project with React frontend, containerized with Docker for seamless development.\n\n### Tech Stack\n\n- 🐍 **Backend**: Django + Django REST Framework + PostgreSQL\n- ⚛️ **Frontend**: React + Vite + Tailwind CSS\n- 🐳 **Development**: Docker + Docker Compose\n\n### Development Features\n\n- ✅ **Django**: Python code changes restart the server automatically\n- ✅ **React**: Frontend changes update instantly in the browser\n- ✅ **Database**: PostgreSQL with persistent data across restarts\n\n## 🚀 Quick Start (2 minutes)\n\n### Prerequisites\n\nDocker \u0026 Docker Compose installed\n\n### Get Started\n\n1. Create environment file **\".env\"** from **\".env.example\"**\n\n2. Start everything with one command\n\n```bash\ndocker-compose up --build -d\n```\n\n3. Access your applications\n\n- 🐍 Django: http://localhost:8000\n- ⚛️ React Frontend: http://localhost:5173\n\nThat's it! Both applications are running with live reloading. 🎉\n\n## 💻 Development Commands\n\nApply Django database migrations\n\n```bash\ndocker-compose exec web python manage.py migrate\n```\n\nView logs\n\n```bash\ndocker-compose logs web -f        # Django logs\ndocker-compose logs frontend -f   # React logs\n```\n\nFresh start (removes database data)\n\n```bash\ndocker-compose down -v \u0026\u0026 docker-compose up --build\n```\n\n## 🛠️ Admin Panel\n\nCreate a superuser for Django admin\n\n```bash\ndocker-compose exec web python manage.py createsuperuser\n```\n\nAccess admin at: http://localhost:8000/admin\n\n## 🗄️ Database Management with pgAdmin\n\nAnalyze and manage your PostgreSQL database using pgAdmin web interface.\n\n### Access pgAdmin\n\n1. **Open pgAdmin**: http://localhost:5050\n2. **Login credentials**:\n   - Email: `admin@admin.com`\n   - Password: `admin`\n\n### Connect to PostgreSQL Database\n\n1. Click **\"Add New Server\"** or **\"Create \u003e Server\"**\n2. **General tab**:\n   - Name: `Django Playground` (or any name you prefer)\n3. **Connection tab**:\n   - Host name/address: `db`\n   - Port: `5432`\n   - Maintenance database: `django_playground`\n   - Username: `django_user`\n   - Password: `django_password`\n4. Click **\"Save\"**\n\n## 📝 Choosing Your Development Approach\n\nThis project supports **both** Django development approaches:\n\n### 🐍 **Django Templates Approach**\n\n- **What**: Traditional server-side rendered HTML pages\n- **Access**: http://localhost:8000\n- **Use case**: Classic Django web applications with server-side rendering\n\n### ⚛️ **API + React Frontend Approach**\n\n- **What**: Django REST Framework APIs + React SPA\n- **Access**:\n  - API: http://localhost:8000/api/\n  - Frontend: http://localhost:5173\n- **Use case**: Modern decoupled architecture with React consuming DRF APIs\n\n## 🧪 Testing\n\nRun Django REST framework tests\n\n```bash\ndocker-compose exec web python manage.py test -v 2\n```\n\n## ☕️ Did you like the project?\n\nYou can collaborate with me giving a star ⭐️ to the project or\n\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/joacod)\n\nThanks! 😃\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoacod%2Fdjango-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoacod%2Fdjango-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoacod%2Fdjango-playground/lists"}