next-drf
v1.0.1
Published
A full-stack framework combining Next.js and Django Rest Framework.
Maintainers
Readme
Here’s the content formatted specifically for a README.md file:
Next-DRF: The Ultimate Full-Stack Framework
🚀 Next-DRF is a developer-friendly, highly scalable full-stack framework combining the power of Next.js for the frontend and Django Rest Framework (DRF) for the backend. Designed for simplicity and flexibility, it enables developers to build robust applications effortlessly while supporting modern best practices like Tailwind CSS for styling and seamless authentication integrations.
Why Next-DRF?
- Seamless Full-Stack Development: Combines the best of React and Django under one roof.
- Flexibility: Offers multiple authentication providers like AWS Cognito, Firebase, Auth0, Okta, and custom implementations.
- Preconfigured Setup: Get started with built-in routing, Tailwind CSS, and API integrations out of the box.
- Developer-Centric: Supports environment-based configurations, secure API key management, and auto-migration commands.
- Scalable: Ready for microservices, multi-database support, and modern deployment strategies.
Features
- Frontend: Built with Next.js 15 using both App Router and Page Router for flexibility.
- Backend: Powered by Django Rest Framework with pre-configured user authentication and APIs.
- Styling: Pre-integrated with Tailwind CSS for rapid and responsive UI development.
- Authentication: Support for multiple authentication providers:
- AWS Cognito
- Firebase
- Auth0
- Okta
- Custom User Authentication
- CLI Tools: Simplifies project setup and management with commands like
npx next-drf-cli. - Scalable Architecture: Ideal for modern full-stack and microservice-based applications.
Getting Started
Installation
# Clone the repository
npx next-drf@latest
# Install dependencies
npm installStarting the Project
Run the frontend and backend servers with a single command:
npm run devThis will:
- Start the Next.js frontend server at http://localhost:3000.
- Start the Django backend server at http://localhost:8000.
Backend Setup
Virtual Environment
Set up a Python virtual environment:
python -m venv env
source env/bin/activate # For Linux/Mac
env\Scripts\activate # For WindowsInstall Backend Dependencies
pip install -r requirements.txtDatabase Migrations
Run migrations to set up the database:
npm run migrateFrontend Development
The frontend is built with Next.js:
npm run dev:frontendBackend Development
Run the Django server:
npm run dev:backendAuthentication Providers
Next-DRF supports multiple authentication providers. Select your preferred provider by setting the AUTH_PROVIDER environment variable in .env:
AUTH_PROVIDER=cognito # Options: cognito, firebase, auth0, okta, customExample .env File
API_KEY=your_api_key_here
AUTH_PROVIDER=cognito
AWS_REGION=your_aws_region
AWS_COGNITO_APP_CLIENT_ID=your_cognito_app_client_idCLI Commands
Next-DRF comes with a powerful CLI tool:
npx next-drf-cliAvailable Commands:
Initialize a New Project
npx next-drf-cli initSets up the project structure and installs dependencies.
Add a New Django App
npx next-drf-cli add-app <app-name>Run Migrations
npx next-drf-cli migrateStart the Servers
npx next-drf-cli dev
Directory Structure
next-drf/
├── next-frontend/ # Next.js application
│ ├── public/ # Static assets
│ ├── src/ # Source files
│ └── tailwind.config.js # Tailwind CSS configuration
├── dra-backend/ # Django application with DRF
│ ├── env/ # Virtual environment
│ ├── draBackend/ # Django project settings
│ └── manage.py # Django management script
├── scripts/ # CLI and helper scripts
├── package.json # Node.js dependencies
└── README.md # Project documentationRoadmap
- Add GraphQL Support for more flexible API queries.
- Introduce Microservices for larger-scale applications.
- Extend Authentication to include SSO and OAuth providers.
- Automate Deployment with Docker and Kubernetes configurations.
Contributing
We welcome contributions from the community! 🚀
Feel free to open issues or submit pull requests on GitHub.
License
Next-DRF is developed by Cointavia and is licensed under the MIT License.
Built with ❤️ by Cointavia
Empowering developers to build faster, smarter, and more scalable applications.
Let me know if there’s anything you’d like to adjust! 🚀
