{"id":16174870,"url":"https://github.com/app-generator/api-server-django","last_synced_at":"2025-03-16T10:31:08.589Z","repository":{"id":100502739,"uuid":"382551446","full_name":"app-generator/api-server-django","owner":"app-generator","description":"Django API Server - Open-Source API Server | AppSeed","archived":false,"fork":false,"pushed_at":"2024-07-22T08:25:56.000Z","size":104,"stargazers_count":41,"open_issues_count":0,"forks_count":15,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-11T04:43:40.274Z","etag":null,"topics":["appseed-sample","django-api","django-api-framework","django-api-oauth","django-api-sample","django-api-server","django-oauth","django-rest-framework","python-api","python-django-api"],"latest_commit_sha":null,"homepage":"https://appseed.us/boilerplate-code/django-boilerplate/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/app-generator.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2021-07-03T07:15:14.000Z","updated_at":"2024-07-29T14:41:16.000Z","dependencies_parsed_at":"2023-11-23T23:22:20.018Z","dependency_job_id":"11a09644-aeda-4d41-b185-c2a85cc69e9f","html_url":"https://github.com/app-generator/api-server-django","commit_stats":null,"previous_names":[],"tags_count":8,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fapi-server-django","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fapi-server-django/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fapi-server-django/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fapi-server-django/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/app-generator","download_url":"https://codeload.github.com/app-generator/api-server-django/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221662723,"owners_count":16859736,"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":["appseed-sample","django-api","django-api-framework","django-api-oauth","django-api-sample","django-api-server","django-oauth","django-rest-framework","python-api","python-django-api"],"created_at":"2024-10-10T04:43:39.276Z","updated_at":"2025-03-16T10:31:08.578Z","avatar_url":"https://github.com/app-generator.png","language":"Python","readme":"# Django API Server\n\nOpen-Source API server powered by [Django](https://app-generator.dev/docs/technologies/django/index.html), a progressive Node.js framework for building efficient, reliable, and scalable server-side applications.\n\n\u003e Status: **Work in progress**\n\n- 👉 [Django API Server](#) - **Complete Documentation**\n- 👉 [Get Support](https://app-generator.dev/ticket/create/) via Email and Discord\n\n\u003cbr /\u003e\n\n## Features  \n\n- **Best Practices**: Follows industry-standard best practices for building robust APIs.\n- **Backend**: Built with Django, a powerful and scalable Node.js framework.\n- **UI**: \n  - React Mantis (optional frontend integration).\n\n\u003cbr /\u003e\n\n## Backend API\n\n- **Simple, modular \u0026 intuitive structure**: Easy to understand and extend.\n- **Toolchain**:\n  - Usable with the latest Node.js LTS versions:\n    - v22.x\n    - v21.x\n    - v20.x\n  - Package Managers: \n    - PNPM, \n    - Yarn, \n    - Npm  \n- **Authentication**: Auth0 for GitHub integration.\n  - GitHub email pulled during OAuth SignIN.\n  - Optional: Email validation.\n- **Roles**: Admin, Users.\n- **ORM**: Prisma for database management.\n- **User Profiles**:\n  - ROLE: Default user.\n  - Fields: Name, surname, bio, country, address, job.\n- **API Features**:\n  - Search, Pagination.\n  - Public Access: GET by ID, get all.\n  - Private access (requires token):\n    - Create, Update, Delete.\n- **Admin**:\n  - Can search or mutate any user.\n- **Users**:\n  - Can view and mutate only their own information.\n\n## Start with Docker\n\n@Todo\n\n## Start Django Backend\n\n\u003e Edit Environment\n\nAdd a `.env` file to your project root directory and populate as follows:\n\n```env\nAUTH0_DOMAIN=YOUR_AUTH0_DOMAIN\nAUTH0_CLIENT_ID=YOUR_AUTH0_CLIENT_ID\nAUTH0_CLIENT_SECRET=YOUR_AUTH0_CLIENT_SECRET\n\nJWT_SECRET=YOUR_JWT_SECRET\n\nDATABASE_URL=YOUR_DATABASE_URL\n```\n\nHere's how to get the required Auth0 details. You need to register a client (application) in your Auth0 dashboard.\n\nFollow these steps to register a client with Auth0:\n\n1. Open the [Auth0 Applications](https://manage.auth0.com/?_gl=1*1a4zekg*_ga*Mjg3MzE5NzcyLjE3MzcwMjU4MzA.*_ga_QKMSDV5369*MTczNzIwMTkzNy45LjEuMTczNzIwMTk1Ni40MS4wLjA.#/applications) section of the Auth0 Dashboard.\n2. Click on the **Create Application** button.\n3. Provide a **Name**, such as \"GitHub Auth\".\n4. Choose `Single Page Web Applications` as the application type.\n5. Click on the **Create** button.\n6. Finally, note down your `Domain`, `Client ID`, and `Client Secret` and add them to your `.env` file. Click the settings tab if you do not see them.\n\nChoose a random string of letters and numbers for your `JWT_SECRET` and populate the `DATABASE_URL` with your database connection string.\n\n\u003e Install Dependencies\n\nRun the following to install dependencies:\n\n```bash\nnpm install\n```\n\nOR\n\n```bash\nyarn\n```\n\n\u003e Set Up Prisma\n\n1. Run the following command to generate the Prisma client and apply migrations:\n\n```bash\nnpx prisma generate\nnpx prisma migrate dev --name init\n```\n\n2. If you need to seed your database, you can add a `seed` script in the `prisma/seed.ts` file and run:\n\n```bash\nnpx prisma db seed\n```\n\n\u003e Run Your Server\n\nStart the Django server with:\n\n```bash\nnpm run start:dev\n```\n\nOR\n\n```bash\nyarn start:dev\n```\n\n## Compile [React UI](https://github.com/codedthemes/mantis-free-react-admin-template)\n\n\u003e Edit Environment\n\nAdd your server base URL to your environment variables as follows:\n\n```env\nVITE_APP_PUBLIC_URL=\u003cYOUR_SERVER_URL\u003e\n```\n\n\u003e Install Dependencies\n\n```bash\nnpm install\n```\n\nOR\n\n```bash\nyarn\n```\n\n\u003e Start the React UI\n\n```bash\nnpm run dev\n```\n\nOR\n\n```bash\nyarn dev\n```\n\n---\nDjango API Starter provided by [App Generator](https://app-generator.dev/) - Open-source service for developers and companies.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapp-generator%2Fapi-server-django","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapp-generator%2Fapi-server-django","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapp-generator%2Fapi-server-django/lists"}