Here’s the content formatted specifically for a README.md
file:
🚀 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.
- 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.
- 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.
# Clone the repository
npx next-drf@latest
# Install dependencies
npm install
Run the frontend and backend servers with a single command:
npm run dev
This will:
- Start the Next.js frontend server at http://localhost:3000.
- Start the Django backend server at http://localhost:8000.
Set up a Python virtual environment:
python -m venv env
source env/bin/activate # For Linux/Mac
env\Scripts\activate # For Windows
pip install -r requirements.txt
Run migrations to set up the database:
npm run migrate
The frontend is built with Next.js:
npm run dev:frontend
Run the Django server:
npm run dev:backend
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, custom
API_KEY=your_api_key_here
AUTH_PROVIDER=cognito
AWS_REGION=your_aws_region
AWS_COGNITO_APP_CLIENT_ID=your_cognito_app_client_id
Next-DRF comes with a powerful CLI tool:
npx next-drf-cli
-
Initialize a New Project
npx next-drf-cli init
Sets 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 migrate
-
Start the Servers
npx next-drf-cli dev
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 documentation
- 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.
We welcome contributions from the community! 🚀
Feel free to open issues or submit pull requests on GitHub.
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! 🚀