app-generator / rocket-django

Rocket Django - Free Starter styled with Tailwind/Flowbite | AppSeed
https://appseed.us/product/rocket/django/
Other
140 stars 34 forks source link
django-and-tailwind django-datatables django-datatables-serverside django-rocket django-saas django-saas-starter django-saas-tailwind django-saas-template django-sample django-starter django-tailwind django-tailwindcss flowbite-django flowbite-django-template rocket-codebase rocket-django sass-starterkit tailwind-and-django tailwind-django tailwindcss-django
Rocket Icon

Rocket Django

TailwindCSSFlowbiteAPI (DRF)Celery BeatDataTablesChartsDockerCI/CD

Demo   •   Support   •   PRO Version


Django Rocket - Open-source Starter styled with Tailwind and Flowbite.


Features

Have questions? Contact Support (Email & Discord) provided by AppSeed

Free Version PRO Version Custom Development
Django 4.2.9 Everything in Free, plus: Everything in PRO, plus:
Best Practices, Modular Codebase OAuth GitHub 1 Week Custom Development
TailwindCSS/Flowbite Media Files Manager Team: PM, Developer, Tester
✓ Extended User Model React / ApexCharts ✅ Weekly Sprints
Simple Charts Enhanced Charts ✅ Technical SPECS
Simple DataTables Enhanced DataTables ✅ Documentation
API via DRF Multi-Language (i18n) 30 days Delivery Warranty
Docker Sentry Error Reporting CI/CD for AWS, DO (Extra)
Free Support (GitHub Issues) Celery (async tasks) -
- Premium Support -
- Unlimited Projects & SaaS -
- Private REPO Access -
- Lifetime Updates -
------------------------------------ ------------------------------------ ------------------------------------
Rocket Demo 🚀 Rocket PRO Demo Get in Touch ➡️


Why Rocket Django

Supercharge your app instantly, launch faster, make $

Login users, process payments and send emails at lightspeed. Spend your time building your startup, not integrating APIs. Rocket Django provides you with the boilerplate code you need to launch, FAST.

Rocket your startup in days, not weeks

The Django boilerplate has all you need to build your SaaS, Analytics tool, or any other type of Web App. From idea to production in 5 minutes.

48+ hours of headaches


Download Sources

The product can be downloaded from the official page or GitHub using GIT:

$ git clone https://github.com/app-generator/rocket-django.git
$ cd rocket-django

Once the sources are available in the local filesystem, we can start the project using Docker or manual build.


Start with Docker

# Optional (kill all existing containers)
$ docker container kill $(docker ps -q) ; docker container rm $(docker ps -a -q) ; docker network prune -f 
# Start the APP
$ docker-compose up --build 

Visit http://localhost:5085 in your browser. The app should be up & running. The starter comes with two default users:

Once authenticated with the above credentials, the sidebar shows different items.


Manual Build

👉 Create .env from env.sample

DEBUG=False

SECRET_KEY=<STRONG_KEY_HERE>

👉 Install Django modules via VENV

$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt

👉 Install Tailwind/Flowbite (another terminal)

Tested with Node v18.20.0 (use at least this version or above)

$ npm install
$ npm run dev
$ npx tailwindcss -i ./static/assets/style.css -o ./static/dist/css/output.css --watch # DEVELOPMENT (LIVE reload)
$ npx tailwindcss -i ./static/assets/style.css -o ./static/dist/css/output.css         # PRODUCTION

👉 Migrate DB

$ python manage.py makemigrations
$ python manage.py migrate

👉 Create Superuser & Start the Rocket Django Starter

$ python manage.py createsuperuser # create the admin
$ python manage.py runserver       # start the project

At this point, we can start using the starter.


Use MySql

By default, the starter uses SQLite for persistence. In order to use MySql, here are the steps:


DB_ENGINE=mysql
DB_HOST=localhost
DB_NAME=<DB_NAME_HERE>
DB_USERNAME=<DB_USER_HERE>
DB_PASS=<DB_PASS_HERE>
DB_PORT=3306

Once the above settings are done, run the migration & create tables:

$ python manage.py makemigrations
$ python manage.py migrate


Production Build

To use the starter in production mode, here are the steps:

As a model, feel free to take a look at build.sh, the file executed by the CI/CD flow for Render:


Deploy on Render

At this point, the product should be LIVE.


Codebase

< PROJECT ROOT >
   |
   |-- core/                 # Project Settings 
   |    |-- settings.py 
   |    |-- wsgi.py     
   |    |-- urls.py     
   |
   |-- home/                 # Presentation app 
   |    |-- views.py         # serve the HOMEpage  
   |    |-- urls.py     
   |    |-- models.py
   |
   |-- apps/                 # Utility Apps 
   |    |-- common/          # defines models & helpers
   |    |    |-- models.py   
   |    |    |-- util.py 
   |    |-- users            # Handles Authentication 
   |    |-- api              # DRF managed API
   |    |-- charts           # Showcase Different Charts
   |    |-- tables           # Implements DataTables
   |    |-- tasks            # Celery, async processing
   |
   |-- templates/            # UI templates 
   |-- static/               # Tailwind/Flowbite 
   |    |-- src/             # 
   |         |-- input.css   # CSS Styling
   |
   |-- Dockerfile            # Docker
   |-- docker-compose.yml    # Docker 
   |
   |-- render.yml            # CI/CD for Render
   |-- build.sh              # CI/CD for Render 
   |
   |-- manage.py             # Django Entry-Point
   |-- requirements.txt      # dependencies
   |-- .env                  # ENV File
   |
   |-- *************************************************      


License

@MIT



Rocket Django - Open-source starter styled with Tailwind/Flowbite actively supported by AppSeed.