Skip to content

app-generator/django-volt-dashboard-pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

Django Dashboard coded with basic modules, database, ORM, and deployment scripts on top of Volt Dashboard PRO (premium version), a modern Bootstrap dashboard design. Volt Pro is a premium Bootstrap 5 Admin Dashboard featuring over 800 components, 20 example pages and 10 fully customized plugin written in Vanilla Javascript.


Features

  • Up-to-date dependencies
  • Database: SQLite, PgSQL, MySql
  • Authentication
    • Session-Based authentication
    • Social Login: Github & Google
  • User Extended profile
  • API via DRF
  • DataTables
  • Charts
  • Celery
  • File Manager
  • i18n (internationalization)
  • Docker

Volt PRO - Full-Stack Starter generated by AppSeed.


Start in Docker

Step 1 - Download the code and unzip the sources (requires a purchase).

$ unzip django-volt-dashboard-pro.zip
$ cd django-volt-dashboard-pro

Step 2 - 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.


Create new .env from env.sample

The meaning of each variable can be found below:

  • DEBUG: if True the app runs in develoment mode
    • For production value False should be used
  • MYSQL credentials
    • DB_ENGINE, default value = mysql
    • DB_NAME, default value = appseed_db
    • DB_HOST, default value = localhost
    • DB_PORT, default value = 3306
    • DB_USERNAME, default value = appseed_db_usr
    • DB_PASS, default value = pass
  • OAuth via Github
    • GITHUB_ID=<GITHUB_ID_HERE>
    • GITHUB_SECRET=<GITHUB_SECRET_HERE>
  • OAuth via Google
    • GOOGLE_CLIENT_ID=<GOOGLE_ID_HERE>
    • GOOGLE_SECRET_KEY=<GOOGLE_SECRET_HERE>

Manual Build

Step 1 - Download the code and unzip the sources (requires a purchase).

$ unzip django-volt-dashboard-pro.zip
$ cd django-volt-dashboard-pro

👉 Set Up for Unix, MacOS

Install modules via VENV

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

Set Up Database

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

Create Superuser

$ python manage.py createsuperuser

Start the app

$ python manage.py runserver

At this point, the app runs at http://127.0.0.1:8000/.


👉 Set Up for Windows

Install modules via VENV (windows)

$ virtualenv env
$ .\env\Scripts\activate
$ pip3 install -r requirements.txt

Set Up Database

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

Start the app

$ python manage.py runserver

At this point, the app runs at http://127.0.0.1:8000/.


👉 Create Users

By default, the app redirects guest users to authenticate. In order to access the private pages, follow this set up:

  • Start the app
  • Access the registration page and create a new user:
    • http://127.0.0.1:8000/register/
  • Access the sign in page and authenticate
    • http://127.0.0.1:8000/login/

Start Celery (async task)

  • Make sure you have a Redis Server running: redis://localhost:6379
    • $ redis-cli and type ping
  • In the base directory inside tasks_scripts folder you need to write your scripts file.
  • Run the celery command from the CLI.
$ export DJANGO_SETTINGS_MODULE="core.settings"  
$ celery -A apps.tasks worker -l info -B
  • You will see a new route Apps -> Tasks in the sidebar.
  • You can start and cancel any task from the UI.

Enable Social Login

👉 Github Setup - Create an OAuth App

  • SignIN to Github
  • Access Settings -> Developer Settings -> OAuth Apps
  • Edit your OAuth App
    • App Name
    • App Description
    • (mandatory) HomePage: https://localhost:8000
    • (mandatory) Authorization callback URL: https://localhost:8000/
    • Generate a new secret key

Codebase

The project is coded using a simple and intuitive structure presented below:

< PROJECT ROOT >
   |
   |-- core/              # Implements app configuration
   |    |-- settings.py   # Defines Global Settings
   |    |-- wsgi.py       # Start the app in production
   |    |-- urls.py       # Define URLs served by all apps/nodes
   |
   |-- home/              # Serves all pages from the UI Kit  
   |
   |-- apps/
   |    |
   |    |-- common/       # Assets used by all APPS (models, helpers)
   |    |-- users/        # Handles Auth Flow
   |    |-- api/          # DRF API
   |    |-- charts/       # Charts APP
   |    |-- tables/       # DataTables APP
   |    |-- tasks/        # Celery App
   |
   |-- templates/         # Pages & Templates   
   |-- assets/            # Static Assets [ JS, CSS, images ]   
   |
   |-- requirements.txt   # Development modules - SQLite storage
   |
   |-- .env               # Environment
   |-- env.sample         # Environment Sample
   |
   |-- manage.py          # Django Manager File
   |
   |-- ************************************************************************


Django Volt PRO - Starter crafted by AppSeed.