Skip to content

app-generator/rocket-django-pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Rocket Icon

TailwindCSSFlowbiteAPI (DRF)Celery BeatDataTablesChartsDockerCI/CD


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

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 with all you need to build your SaaS, AI tool, or any other 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 GitHub Oauth
  • ∞ hrs overthinking...
  • Free Support via Email & Discord

Start in Docker

👉 Unzip sources or clone the private repository (requires a purchase)

$ unzip rocket-django-pro.zip
// OR
$ git clone https://github.com/app-generator/priv-rocket-django-pro.git
$ cd rocket-django-pro

Start the APP in 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:

  • Ordinary user: test / test@appseed.us / Pass12__ (the password)
  • Django SuperUser: admin / admin@appseed.us / Pass12__ (the password)

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


Manual Build

👉 Unzip sources or clone the private repository (requires a purchase)

$ unzip rocket-django-pro.zip
// OR
$ git clone https://github.com/app-generator/priv-rocket-django-pro.git
$ cd rocket-django-pro

👉 Edit .env using env.sample or keep the default values

DEBUG=True

SECRET_KEY=<STRONG_KEY_HERE>

...

👉 Install Django modules via VENV

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

👉 Install Tailwind/Flowbite (separate terminal)

Node Version: v18.20.0 or above

$ npm install
$ npm run dev
$ npx tailwindcss -i ./static/assets/style.css -o ./static/dist/css/output.css --watch

👉 Migrate DB

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

👉 Create Superuser & Start the APP

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

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 privilegies 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 & cretae 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

Company License



Rocket Django PRO - Premium Seed Project styled with Tailwind/Flowbite actively supported by AppSeed.