Giter Club home page Giter Club logo

app-generator / rocket-django Goto Github PK

View Code? Open in Web Editor NEW
113.0 4.0 28.0 5.64 MB

Rocket Django - Free Starter styled with Tailwind/Flowbite | AppSeed

Home Page: https://appseed.us/product/rocket/django/

License: Other

Dockerfile 0.28% Shell 0.11% Python 11.56% CSS 1.08% JavaScript 4.15% HTML 82.82%
rocket-codebase django-saas django-sample django-starter sass-starterkit django-saas-template django-saas-starter django-tailwind django-tailwindcss django-saas-tailwind

rocket-django's Introduction

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:
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 🛒 Order: $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
  • 10 hr for coding Datatables
  • 5 hr for having thr Charts
  • 2 hrs for Docker
  • ∞ hrs overthinking...
  • Free Support via Email & Discord

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:

  • 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.

rocket-django's People

Contributors

app-generator avatar benfaruna avatar mahfujul-helios avatar mominur-helios avatar topstar210 avatar vic-cieslak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rocket-django's Issues

mysqlclient error when install

When I run in the environment pip install mysqlclient it get following error:
pip install mysqlclient
Collecting mysqlclient
Using cached mysqlclient-2.2.0.tar.gz (89 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: mysqlclient
Building wheel for mysqlclient (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for mysqlclient (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [46 lines of output]
# Options for building extention module:
library_dirs: ['C:/mariadb-connector\lib\mariadb', 'C:/mariadb-connector\lib']
libraries: ['kernel32', 'advapi32', 'wsock32', 'shlwapi', 'Ws2_32', 'crypt32', 'secur32', 'bcrypt', 'mariadbclient']
extra_link_args: ['/MANIFEST']
include_dirs: ['C:/mariadb-connector\include\mariadb', 'C:/mariadb-connector\include']
extra_objects: []
define_macros: [('version_info', (2, 2, 0, 'final', 0)), ('version', '2.2.0')]
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-312
creating build\lib.win-amd64-cpython-312\MySQLdb
copying src\MySQLdb\connections.py -> build\lib.win-amd64-cpython-312\MySQLdb
copying src\MySQLdb\converters.py -> build\lib.win-amd64-cpython-312\MySQLdb
copying src\MySQLdb\cursors.py -> build\lib.win-amd64-cpython-312\MySQLdb
copying src\MySQLdb\release.py -> build\lib.win-amd64-cpython-312\MySQLdb
copying src\MySQLdb\times.py -> build\lib.win-amd64-cpython-312\MySQLdb
copying src\MySQLdb_exceptions.py -> build\lib.win-amd64-cpython-312\MySQLdb
copying src\MySQLdb_init_.py -> build\lib.win-amd64-cpython-312\MySQLdb
creating build\lib.win-amd64-cpython-312\MySQLdb\constants
copying src\MySQLdb\constants\CLIENT.py -> build\lib.win-amd64-cpython-312\MySQLdb\constants
copying src\MySQLdb\constants\CR.py -> build\lib.win-amd64-cpython-312\MySQLdb\constants
copying src\MySQLdb\constants\ER.py -> build\lib.win-amd64-cpython-312\MySQLdb\constants
copying src\MySQLdb\constants\FIELD_TYPE.py -> build\lib.win-amd64-cpython-312\MySQLdb\constants
copying src\MySQLdb\constants\FLAG.py -> build\lib.win-amd64-cpython-312\MySQLdb\constants
copying src\MySQLdb\constants_init_.py -> build\lib.win-amd64-cpython-312\MySQLdb\constants
running egg_info
writing src\mysqlclient.egg-info\PKG-INFO
writing dependency_links to src\mysqlclient.egg-info\dependency_links.txt
writing top-level names to src\mysqlclient.egg-info\top_level.txt
reading manifest file 'src\mysqlclient.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'src\mysqlclient.egg-info\SOURCES.txt'
copying src\MySQLdb_mysql.c -> build\lib.win-amd64-cpython-312\MySQLdb
running build_ext
building 'MySQLdb.mysql' extension
creating build\temp.win-amd64-cpython-312
creating build\temp.win-amd64-cpython-312\Release
creating build\temp.win-amd64-cpython-312\Release\src
creating build\temp.win-amd64-cpython-312\Release\src\MySQLdb
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD "-Dversion_info=(2, 2, 0, 'final', 0)" -D__version
_=2.2.0 -IC:/mariadb-connector\include\mariadb -IC:/mariadb-connector\include -IC:\Users\Jakes\django\grc10\grc-app\venv\include -IC:\Python312\include -IC:\Python312\Include "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\ATLMFC\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcsrc/MySQLdb/_mysql.c /Fobuild\temp.win-amd64-cpython-312\Release\src/MySQLdb/_mysql.obj
_mysql.c
src/MySQLdb/_mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
error: command 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX86\x64\cl.exe' failed with exit code 2
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for mysqlclient
Failed to build mysqlclient
ERROR: Could not build wheels for mysqlclient, which is required to install pyproject.toml-based projects

Sidebar - Highlight Current Page

In the current version, the sidebar does not highlight the current page.

Moreover, once the items under the Apps menu are selected, the Apps menu remains collapsed on page refresh.

The enhancement needs to provide a way to highlight the current page using a discrete gray background, the same used by the mouse over event:

@mominur-helios, please take a look.

TY!

image

server error 500

when i create the superuser and when i run it it says the server error

[DOCS] CI/CD - Deploy with Render

The starter can be deployed in seconds on Render, a popular deployment service

  • Intro About Render
  • Mention and explain render.yaml
  • Mention and explain build.sh

@BenFaruna please take a look.

TY!


Render Settings:

image


image

docker-compose build fails

Hello guys, I was trying to build it using docker-compose up --build but it can't install NPM properly

image

Does someone have faced this issue too?

Profile Page - Avatar is broken

Once the user is authenticated, the avatar image can be changed.

The nominal flow

  • Each new profile will use a default avatar
  • once authenticated, the avatar is shown in the navigation bar & profile page

@mominur-helios please take a look.

TY!


image

Replicating and changing menu items stop working on additional items

Hey there.

I am trying to hack your menu on your Django Rocket. So when I change top menu item, name, including url, copy paste html page(tables.html) rename html and all, all works as expected. I understand to change the views file as well. Copy/paste.
The meny item opens, and displays the tables.html(im using that for now on all menu items.
menu_html.docx

When I then change the second Item on the you list, all works.

All these changes are in menu.html. The views Im adding to app/tables urls and view files. No errors on runserver. All works.

So now I have two menu items changed, with drop down meny items.

But as soon as I copy/paste the first item+dropdown items, or the second, or take one of the bottom sections like LAYOUTS, and copy paste, make similar changes than first two menu items, damn, the clicking (expanding and collapse) stop working for the last copy paste, and changes.

I notice this line in two places:
My copy paste section in menu.html

I noticed this: =========={% if 'vendors' in parent %} in two places, changed that, but still not working.

If I say not working, the top layer display, but the bottom items does not expand. In actual fact, if you expand click, the bottom 'new'menu item, the second menu item opens(the previous one)

Hope you can give me pointers how to add meny items past ethe second row.
Cheers

Charts - Render Options

The page should visualize the information (PRODUCTS Table) using two patterns:

  • Template view using the JSON.parse('{{ products | safe }}')
  • JS + API Usage

The page will have two rows:

1st ROW, template view where:

  • 50% BAR Chart rendered on DIV with ID products-bar-chart
  • 50% PIE Chart rendered on DIV with ID products-pie-chart

2nd ROW, API view where:

  • 50% BAR Chart rendered on DIV with ID products-bar-chart-api
  • 50% PIE Chart rendered on DIV with ID products-pie-chart-api

NOTE: JS code needs to be saved in the charts.html SCRIPT tag.


In the end, the layout should be like this:

rocket-django-charts

Profile Page

  • Avatar needs to be managed in a separate box:
  • Once updated, the image needs to be displayed in the navigation bar

image

@mominur-helios please take a look.

TY!

Sidebar Users App - For Superusers

The Users Sidebar Link Features

  • reserved for superusers
  • list all users via DataTables
  • can delete user a user (needs confirmation)
  • can change password for user (no current password required)
  • can add a new user using the same left form as for products

@mominur-helios please take a look.

TY!

image



image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.