Django Volt is an open-source seed project crafted with a database, session-based authentication, basic helpers, and deployment scripts on top of Volt Bootstrap 5 design.
The codebase has a simple, modular structure that follows the industry best practices and patterns used in modern Python-based applications. For newcomers, Django is the most popular Python-based web framework mostly for the "batteries-included" concept and the built-in security pattern provided by experts.
Django Codebase
The product can be used to start a new project by coding only the specific features on top or integrate the design into a legacy Python-based product.
The design is already production-ready with pages and components compatible with the Django template engine. Being a simple starter, any developer with basic Python knowledge should be able to compile and use the app by typing only a few lines in the terminal.
You can learn more about getting started with the Django codebase by reading our documentation.
Powered by Bootstrap 5
Volt is built using the latest version of Bootstrap 5 and because jQuery is no longer required as a dependency, Volt has been built using only Vanilla JS.
There are over 100 unique Bootstrap 5 UI elements that are included in the template, such as buttons, alerts, modals, and many more. Not only that, but there are also 10 unique dashboard pages that will make setting up a quick administration or web app UI easier.
You can explore all of the examples of UI elements by browsing the documentation.
Compile the product
To compile the product and use it locally, Python3 should be installed and accessible via the terminal. The source code can be downloaded from the official repository or downloaded in ZIP format from the product page.
Download the sources and unzip the archive
cd django-dashboard-volt
Create a virtual environment
virtualenv env
$ source env/bin/activate
Install modules
pip3 install -r requirements.txt
Create the tables by running a Django migration
python manage.py makemigrations
$ python manage.py migrate
Start the application
python manage.py runserver
If all goes well, we can access Django Volt in browser http://127.0.0.1:8000/
.
Note: To use the app, please access the registration page and create a new user. After authentication, the app will unlock the private pages.
Codebase structure
The project is coded using a simple and intuitive structure presented bellow:
< PROJECT ROOT >
|
|-- core/ # Implements app logic and serve the static assets
| |-- settings.py # Django app bootstrapper
| |-- static/
| |-- templates/ # Templates used to render pages
| |-- includes/ # HTML chunks and components
| |-- layouts/ # Master pages
| |-- accounts/ # Authentication pages
| |
| index.html # The default page
| *.html # All other HTML pages
|
|-- authentication/ # Handles auth routes (login and register)
|-- app/ # A simple app that serve HTML files
|
|-- requirements.txt # Development modules - SQLite storage
|-- .env # Inject Configuration via Environment
|-- manage.py # Start the app - Django default start script
|
|-- ************************************************************************
The bootstrap flow
- Django bootstrapper
manage.py
usescore/settings.py
as the main configuration file -
core/settings.py
loads the app magic from.env
file - Redirect the guest users to Login page
- Unlock the pages served by app node for authenticated users
Deployment
The app is provided with a basic configuration to be executed in Docker, a popular virtualization software.
To start the project inside a Docker container, please type following commands:
1# - UNZIP the archive and change the curent directory
cd django-dashboard-volt
2# - Download the required packages
sudo docker-compose pull
3# - Build the Docker packages
sudo docker-compose build
4# - Start the dokerized application
sudo docker-compose up
By visiting http://localhost:5005
in the browser we should see the app running.
This template was created in partnership with the AppSeed App Generator.
Top comments (4)
The design is super nice and distinct.
Thanks for sharing!
Thank you 🙏🏻
Docker scripts make the deployment much easier.
Thanks for sharing this project.
Thank you 🙏🏻