Skip to content

app-generator/rocket-django

Repository files navigation

Rocket Icon

TailwindCSSFlowbiteAPI (DRF)Celery BeatDataTablesChartsDockerCI/CD


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:
Hot Reload (templates & static) OAuth Google, GitHub 1mo Custom Development
TailwindCSS/Flowbite Enhanced Charts Team: PM, Developer, Tester
✓ Extended User Model Enhanced DataTables ✅ Weekly Sprints
Charts Media Files Manager ✅ Technical SPECS
DataTables Stripe Payments ✅ Documentation
API via DRF React / ApexCharts Integration 30 days Delivery Warranty
Celery Beat Multi-Language (i18n) Support -
Docker Sentry Error Reporting -
CI/CD Flow via Render PRO Support - Email & Discord -
Free Support (GitHub Issues) Unlimited Projects -
- Private REPO Access -
- Lifetime Updates -
- AWS, DO, Azure Deploy Assistance -
- - -
------------------------------------ ------------------------------------ ------------------------------------
🚀 LIVE Demo 🚀 LIVE Demo (PRO) 🛒 Order: $4,999 (GUMROAD)

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

  • 1 hrs to setup the project
  • 2 hrs integrate tooling
  • 2 hrs to handle Stripe
  • 1 hrs for Docker
  • 1 hr Google Oauth
  • ∞ hrs overthinking...
  • Free Support via Email & Discord

Manual Build

👉 Download code

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

👉 Create .env from env.sample

DEBUG=False

SECRET_KEY=<STRONG_KEY_HERE>

# For Myql or PgSQL Persistence 
# DB_ENGINE=mysql
# DB_HOST=localhost
# DB_NAME=appseed_rocket_django
# DB_USERNAME=root
# DB_PASS=
# DB_PORT=3306

# SMTP configaration
# EMAIL_HOST=smtp.gmail.com
# EMAIL_PORT=587
# EMAIL_USE_TLS=True
# EMAIL_HOST_USER=
# EMAIL_HOST_PASSWORD=

👉 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

Start With Docker

👉 Download code

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

👉 Start with Docker Compose

$ docker-compose up --build 

Visit the app in the browser localhost:5085.


Use MySql

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

  • Start the MySql Server
  • Create a new DataBase
  • Create a new user with full privileges over the database
  • Install the MySql Python Driver (used by Django to connect)
    • $ pip install mysqlclient
  • Edit the .env with the SQL Driver Information & DB Credentials
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:

  • Set DEBUG=False in .env
  • Execute collectstatic command
    • $ python manage.py collectstatic --no-input

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.