Django starter styled with Material Dashboard PRO, a premium Bootstrap
Design from Creative-Tim
.
The product is designed to deliver the best possible user experience with highly customizable feature-rich pages.
- 🛒 Django Material PRO -
Product page
(contains payment links) - 👉 Django Material PRO -
LIVE Demo
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
Step 1 - Download the code and unzip the sources (requires a
purchase
).
$ unzip django-material-dashboard-pro.zip
$ cd django-material-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.
The meaning of each variable can be found below:
DEBUG
: ifTrue
the app runs in develoment mode- For production value
False
should be used
- For production value
MYSQL
credentialsDB_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 GithubGITHUB_ID
=<GITHUB_ID_HERE>GITHUB_SECRET
=<GITHUB_SECRET_HERE>
OAuth
via GoogleGOOGLE_CLIENT_ID
=<GOOGLE_ID_HERE>GOOGLE_SECRET_KEY
=<GOOGLE_SECRET_HERE>
- Download the code and unzip the sources (requires a
purchase
).
$ unzip django-material-dashboard-pro.zip
$ cd django-material-dashboard-pro
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/
.
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/
.
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 authenticatehttp://127.0.0.1:8000/login/
- Make sure you have a Redis Server running:
redis://localhost:6379
$ redis-cli
and typeping
- 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.
👉 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
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 Material PRO - Starter crafted by AppSeed.