{"id":19782818,"url":"https://github.com/tyronejosee/project_drop_dash_api","last_synced_at":"2025-04-30T22:31:09.066Z","repository":{"id":232272293,"uuid":"783876095","full_name":"tyronejosee/project_drop_dash_api","owner":"tyronejosee","description":"Drop Dash (API): A home delivery platform that allows users to search for and purchase products from local restaurants near their homes, place orders, and schedule deliveries. Provides access to restaurants to manage their menus, receive orders, and handle their meals through the platform. Inspired by platforms like Rappi and Uber Eats","archived":false,"fork":false,"pushed_at":"2024-08-30T22:44:57.000Z","size":3928,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T05:34:22.090Z","etag":null,"topics":["black","digitalocean","django","django-rest-framework","djoser","docker","docker-compose","drf","drf-spectacular","flake8","github-actions","jwt","nginx","oauth2","postgresql","python","redis","s3-bucket","sqlite","swagger"],"latest_commit_sha":null,"homepage":"https://project-dropdash.vercel.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tyronejosee.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}},"created_at":"2024-04-08T18:43:58.000Z","updated_at":"2025-03-15T20:55:57.000Z","dependencies_parsed_at":"2024-05-20T00:20:51.580Z","dependency_job_id":"a1237749-8ddc-45ce-a841-3f506087ef5e","html_url":"https://github.com/tyronejosee/project_drop_dash_api","commit_stats":null,"previous_names":["tyronejosee/project_drop_dash_api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyronejosee%2Fproject_drop_dash_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyronejosee%2Fproject_drop_dash_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyronejosee%2Fproject_drop_dash_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyronejosee%2Fproject_drop_dash_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tyronejosee","download_url":"https://codeload.github.com/tyronejosee/project_drop_dash_api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251791540,"owners_count":21644413,"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":["black","digitalocean","django","django-rest-framework","djoser","docker","docker-compose","drf","drf-spectacular","flake8","github-actions","jwt","nginx","oauth2","postgresql","python","redis","s3-bucket","sqlite","swagger"],"created_at":"2024-11-12T06:06:13.927Z","updated_at":"2025-04-30T22:31:08.692Z","avatar_url":"https://github.com/tyronejosee.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/tyronejosee/project_new_store#gh-light-mode-only\" target=\"_blank\"\u003e\n    \u003cimg src=\"./.github/logo_light.svg\" alt=\"logo-light\" width=\"80\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/tyronejosee/project_new_store#gh-dark-mode-only\" target=\"_blank\"\u003e\n    \u003cimg src=\"./.github/logo_dark.svg\" alt=\"logo-dark\" width=\"80\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e\u003cstrong\u003eDrop Dash - API\u003c/strong\u003e\u003c/h1\u003e\n  \u003ca href=\"#\"\u003e\u003cstrong\u003eSwagger UI\u003c/strong\u003e\u003c/a\u003e\n  🔸\n  \u003ca href=\"#\"\u003e\u003cstrong\u003eRedoc\u003c/strong\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cp align=\"center\"\u003e\nThis API simulates a home delivery platform that allows users to search for and purchase products from local restaurants near their homes, place orders, and schedule deliveries. Similarly, restaurants can manage their menus, receive orders, and handle their meals through the platform. The API is inspired by platforms like Rappi, Uber Eats, PedidosYa, and Glovo.\n\u003cp\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.python.org/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/python-3.11.9-3572A5\" alt=\"python-version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.djangoproject.com/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/django-5.0.4-092E20\" alt=\"django-version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.django-rest-framework.org/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/drf-3.15.1-A30000\" alt=\"django-version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.docker.com/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/docker-26.0.0-0db7ed\" alt=\"docker-version\"\u003e\n  \u003c/a\u003e\n    \u003ca href=\"https://www.postgresql.org/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/postgresql-16.4-336791\" alt=\"postgresql-version\"\u003e\n  \u003c/a\u003e\n  \u003c/a\u003e\n    \u003ca href=\"https://redis.io/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/redis-7.4.0-D82C20\" alt=\"postgresql-version\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## ⚙️ Installation\n\nClone the repository.\n\n```bash\ngit clone git@github.com:tyronejosee/project_drop_dash_api.git\n```\n\nCreate a virtual environment (Optional, only if you have Python installed).\n\n```bash\npython -m venv env\n```\n\nActivate the virtual environment (Optional, only if you have Python installed).\n\n```bash\nenv\\Scripts\\activate\n```\n\n\u003e Notes: `(env)` will appear in your terminal input.\n\nInstall dependencies for your local environment, for testing, linter and pre-commit configs, etc. (Optional, only if you have Python installed).\n\n```bash\npip install -r requirements/local.txt\n```\n\nCreate a copy of the `.env.example` file and rename it to `.env`.\n\n```bash\ncp .env.example .env\n```\n\n**Update the values of the environment variables (Important).**\n\n\u003e Note: Make sure to correctly configure your variables before building the container.\n\n## 🐳 Docker\n\nBuild your container; it will take time the first time, as Docker needs to download all dependencies and build the image.\nUse the `-d` (detached mode) flag to start your containers in the background.\nUse the `--build` flag if you have changes and need to rebuild.\n\n```bash\ndocker compose up\ndocker compose up -d\ndocker compose up --build\n```\n\nStop the running containers (does not remove them).\n\n```bash\ndocker compose stop\n```\n\nStart previously created and stopped containers.\n\n```bash\ndocker compose start\n```\n\nShow container logs in real-time.\n\n```bash\ndocker compose logs -f\n```\n\nRestart a service with issues (Replace `\u003cservice_name\u003e`).\n\n```bash\ndocker compose restart \u003cservice_name\u003e\n```\n\nRemove your container.\n\n```bash\ndocker compose down\n```\n\n## 🐍 Django\n\nAccess the `web` service console that runs Django.\n\n```bash\ndocker compose exec web bash\n```\n\nInside the Django console, create the migrations.\n\n```bash\npython manage.py makemigrations\n```\n\nRun the migrations.\n\n```bash\npython manage.py migrate\n```\n\nIf you need to be more specific, use:\n\n```bash\npython manage.py migrate \u003capp_label\u003e \u003cmigration_name\u003e\n```\n\nList all available migrations and their status.\n\n```bash\npython manage.py showmigrations\n```\n\n\u003e Note: Manually create the migration if Django skips an app; this happens because Django did not find the `/migrations` folder.\n\nCreate a superuser to access the entire site without restrictions.\n\n```bash\npython manage.py createsuperuser\n```\n\nLog in to `admin`:\n\n```bash\nhttp://127.0.0.1:8200/admin/\n```\n\nAccess Swagger or Redoc.\n\n```bash\nhttp://127.0.0.1:8200/api/schema/swagger/\nhttp://127.0.0.1:8200/api/schema/redoc/\n```\n\n## 🚨 Important Notes\n\nCheck the creation of migrations before creating them.\n\n```bash\ndocker compose exec web python manage.py makemigrations users\n```\n\n\u003e Note: Checking migrations before their creation is necessary to avoid inconsistencies in user models.\n\n## 🐘 PostgreSQL\n\nAccess the PostgreSQL console.\n\n```bash\ndocker compose exec db psql -U \u003cdatabase_user\u003e -d \u003cdatabase_name\u003e\n```\n\nList all the tables in the database.\n\n```bash\n\\dt\n```\n\nShow the detailed structure of a specific table.\n\n```bash\n\\d \u003ctable_name\u003e\n```\n\nCreate a backup of your database (Optional).\n\n```bash\ndocker compose exec web python manage.py dumpdata \u003e backup.json\n```\n\nLoad the created backup if needed (Optional).\n\n```bash\ndocker compose exec web python manage.py loaddata\n```\n\n## 🟥 Redis\n\nAccess the Redis console.\n\n```bash\ndocker compose exec redis redis-cli\n```\n\nRetrieve all keys.\n\n```bash\nKEYS *\n```\n\nDelete a key from cache.\n\n```bash\nDEL \u003ckey_name\u003e\n```\n\nDelete all keys.\n\n```bash\nFLUSHALL\n```\n\n## ⚖️ License\n\nThis project is under the [Apache-2.0 license](https://github.com/tyronejosee/project_drop_dash_api/blob/main/LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyronejosee%2Fproject_drop_dash_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftyronejosee%2Fproject_drop_dash_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyronejosee%2Fproject_drop_dash_api/lists"}