Django Soft PRO
Premium Django Starter coded on top of Soft Dashboard PRO design (Premium Version).
Premium Django Starter styled with Soft Dashboard PRO, a premium Bootstrap 5
KIT from Creative-Tim
.
The product is designed to deliver the best possible user experience with highly customizable feature-rich pages.
- 👉 Soft UI Dashboard PRO Django -
Product Page
- 👉 Soft UI Dashboard PRO Django -
LIVE Demo
Features
Up-to-date dependencies
- Database:
SQLite
(default), PgSQL, MySql - Authentication
Session-Based authentication
Social Login
: Github
- User Extended profile
- API via DRF
- DataTables
- Charts
- Celery (Async Tasks)
- File Manager
Docker
Environment
To use the starter, Python3 should be installed properly in the workstation.
If you are not sure if Python is installed, please open a terminal and type python --version
. Here is the full list with dependencies and tools required to build the app:
- Python3 - the programming language used to code the app
- GIT - used to clone the source code from the Github repository
- Basic development tools (g++ compiler, python development libraries ..etc) used by Python to compile the app dependencies in your environment.
- (Optional)
Docker
- a popular virtualization software
Start in Docker
Step 1 - Download the code and unzip the sources (requires a
purchase
).
$ unzip soft-ui-dashboard-pro.zip
$ cd soft-ui-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.
Manual Build
Step 1 - Download the code and unzip the sources (requires a
purchase
).
$ unzip soft-ui-dashboard-pro.zip
$ cd soft-ui-dashboard-pro
Step 2 - Create new
.env
fromenv.sample
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
- Edit
SECRET_KEY
: add strong secret key
Step 3 - Activate the Virtual Environment and Install Modules
$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt
Step 4 - Migrate Database (by Default SQLite is used)
$ python manage.py makemigrations
$ python manage.py migrate
Step 5 - Create Superuser
$ python manage.py createsuperuser
Step 6 - Start the App
$ python manage.py runserver
At this point, the app runs at http://127.0.0.1:8000/
.
Start Celery
- 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.
Modules
The starter comes with a few modules requested by our Discord Community:
- API
- DataTables
- Charts
- Extended User Profiles
- Media Files Manger
- Async tasks
In this Selection, we will document the core of these features.
DB Models
The information showcases and managed by the API Endpoint, DataTables and Charts is saved in apps/common/models.py
. Here is the definition
class Sales(models.Model):
ID = models.AutoField(primary_key=True)
Product = models.TextField(blank=True, null=True)
BuyerEmail = models.EmailField(blank=True, null=True)
PurchaseDate = models.DateField(blank=True, null=True)
Country = models.TextField(blank=True, null=True)
Price = models.FloatField(blank=True, null=True)
Refunded = models.CharField(max_length=20, choices=RefundedChoices.choices, default=RefundedChoices.NO)
Currency = models.CharField(max_length=10, choices=CurrencyChoices.choices, default=CurrencyChoices.USD)
Quantity = models.IntegerField(blank=True, null=True)
The saved information can be managed and visualized in different ways:
- Structured (JSON) form via the API
- DataTable: A paginated view enhanced with filters, search, and CSV export.
- Visual, through the Apex Charts
Api via DRF
The API endpoint incorporated in Django Soft PRO offers a simple way to manage the information:
- GET request is public (no authentication guard)
- Mutating requests are protected by a header token availble for each registered user
For newcomers, Django Rest Framework
(DRF) is a powerful and flexible toolkit built on top of Django for building Web APIs.
It provides a set of robust features that significantly simplify the process of creating RESTful interfaces.
DRF integrates seamlessly with Django's ORM and authentication systems, leveraging Django's robustness while adding powerful API-specific features. It supports both function-based and class-based views, with the latter offering a high level of code reuse through mixins and generic views.
Enhanced DataTables
Compared to a classic dataTable module, this feature comes with server-side pagination, search and a filtering system that allows to combine terms and rafinate the resourceLimits. On the client signedCookie, the UI can interactively suppress columns and simplify the layout as per user need.
Charts View
The Sales data is managed visually by the popular Apex Charts library using two layouts: bar and pie
Deploy on Render
- Create a Blueprint instance
- Go to https://dashboard.render.com/blueprints this link.
- Click
New Blueprint Instance
button. - Connect your
repo
which you want to deploy. - Fill the
Service Group Name
and click onUpdate Existing Resources
button. - After that your deployment will start automatically.
At this point, the product should be LIVE.
Resources
- 👉 Access AppSeed for more starters and support
- 👉 Get in touch for Custom Development Services