Open-source Flask Dashboard generated by AppSeed
op top of a modern design. Designed for those who like bold elements and beautiful websites, Soft UI Dashboard is ready to help you create stunning websites and webapps. Soft UI Dashboard is built with over 70 frontend individual elements, like buttons, inputs, navbars, nav tabs, cards, or alerts, giving you the freedom of choosing and combining.
- π Soft UI Dashboard Flask - Product page
- π Soft UI Dashboard Flask - LIVE Demo
- π Complete documentation -
Learn how to use and update the product
Roadmap & Features
Status | Item | info |
---|---|---|
β | Up-to-date Dependencies | Tested with Django v3.2.x , v4.x |
β | UI Kit | Bootstrap 5 , Dark-Mode (persistent) |
β | Deployment | Docker , HEROKU |
β | Persistence | SQLite , MySql |
β | Authentication | Basic, OAuth via AllAuth for Github |
β | API Generator | Secure API via Flask-restX |
β | Dynamic DataTables | Server-side pagination, Search , Export |
β | Stripe Payments | One-Time and Subscriptions |
β | Async Tasks | via Celery |
Something is missing? Submit a new
product feature request
using the issues tracker.
Step 1 - Download the code from the GH repository (using
GIT
)
$ git clone https://github.com/app-generator/flask-soft-ui-dashboard.git
$ cd flask-soft-ui-dashboard
Step 2 - Start the APP in
Docker
$ 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
ASSETS_ROOT
: used in assets management- default value:
/static/assets
- default value:
OAuth
via GithubGITHUB_ID
=<GITHUB_ID_HERE>GITHUB_SECRET
=<GITHUB_SECRET_HERE>
Download the code
$ git clone https://github.com/app-generator/flask-soft-ui-dashboard.git
$ cd flask-soft-ui-dashboard
Install modules via
VENV
$ virtualenv env
$ source env/bin/activate
$ pip3 install -r requirements.txt
Set Up Flask Environment
$ export FLASK_APP=run.py
$ export FLASK_ENV=development
Start the app
$ flask run
// OR
$ flask run --cert=adhoc # For HTTPS server
At this point, the app runs at http://127.0.0.1:5000/
.
Install modules via
VENV
(windows)
$ virtualenv env
$ .\env\Scripts\activate
$ pip3 install -r requirements.txt
Set Up Flask Environment
$ # CMD
$ set FLASK_APP=run.py
$ set FLASK_ENV=development
$
$ # Powershell
$ $env:FLASK_APP = ".\run.py"
$ $env:FLASK_ENV = "development"
Start the app
$ flask run
// OR
$ flask run --cert=adhoc # For HTTPS server
At this point, the app runs at http://127.0.0.1:5000/
.
This module helps to generate secure APIs using Flask-restX
via a simple workflow:
- Edit/add your model in
apps/models.py
- Migrate the database:
$ flask db init # this should be executed only once
$ flask db migrate # Generates the SQL
$ flask db upgrade # Apply changes
- Update Configuration:
apps/config .py
, sectionAPI_GENERATOR
- Generate the API code:
$ flask gen_api
# the new code is saved inapps/api
- Access the API in the browser:
/api/MODEL_NAME/
The API is secured using the JWT tocken provided by /login/jwt/
request (username & password should be provided).
- GET requests are public (GET all, get Item)
- Mutating requests are protected by token generated based on the user credentials (
username
,pass
).
Two POSTMAN Collections are provided in the
media
directory:
- Books API - that uses PORT *5000 for the api
- Books API 2 - that uses PORT *5085 for the api (default port in Docker)
In case both port are unusable in your environment, feel free to edit the files before POSTMAN import.
By default, the app redirects guest users to authenticate. In order to access the private pages, follow this set up:
- Start the app via
flask run
- Access the
registration
page and create a new user:http://127.0.0.1:5000/register
- Access the
sign in
page and authenticatehttp://127.0.0.1:5000/login
The project is coded using blueprints, app factory pattern, dual configuration profile (development and production) and an intuitive structure presented bellow:
< PROJECT ROOT >
|
|-- apps/
| |
| |-- home/ # A simple app that serve HTML files
| | |-- routes.py # Define app routes
| |
| |-- authentication/ # Handles auth routes (login and register)
| | |-- routes.py # Define authentication routes
| | |-- models.py # Defines models
| | |-- forms.py # Define auth forms (login and register)
| |
| |-- static/
| | |-- <css, JS, images> # CSS files, Javascripts files
| |
| |-- templates/ # Templates used to render pages
| | |-- includes/ # HTML chunks and components
| | | |-- navigation.html # Top menu component
| | | |-- sidebar.html # Sidebar component
| | | |-- footer.html # App Footer
| | | |-- scripts.html # Scripts common to all pages
| | |
| | |-- layouts/ # Master pages
| | | |-- base-fullscreen.html # Used by Authentication pages
| | | |-- base.html # Used by common pages
| | |
| | |-- accounts/ # Authentication pages
| | | |-- login.html # Login page
| | | |-- register.html # Register page
| | |
| | |-- home/ # UI Kit Pages
| | |-- index.html # Index page
| | |-- 404-page.html # 404 page
| | |-- *.html # All other pages
| |
| config.py # Set up the app
| __init__.py # Initialize the app
|
|-- requirements.txt # App Dependencies
|
|-- .env # Inject Configuration via Environment
|-- run.py # Start the app - WSGI gateway
|
|-- ************************************************************************
The set up
- Create a FREE account on Heroku platform
- Install the Heroku CLI that match your OS: Mac, Unix or Windows
- Open a terminal window and authenticate via
heroku login
command - Clone the sources and push the project for LIVE deployment
π Step 1 - Download the code from the GH repository (using
GIT
)
$ git clone https://github.com/app-generator/flask-soft-ui-dashboard.git
$ cd flask-soft-ui-dashboard
π Step 2 - Connect to
HEROKU
using the console
$ # This will open a browser window - click the login button (in browser)
$ heroku login
π Step 3 - Create the
HEROKU
project
$ heroku create
π Step 4 - Access the HEROKU dashboard and update the environment variables. This step is mandatory because HEROKU ignores the
.env
.
DEBUG
=TrueFLASK_APP
=run.pyASSETS_ROOT
=/static/assets
π Step 5 - Push Sources to
HEROKU
$ git push heroku HEAD:master
π Step 6 - Visit the app in the browser
$ heroku open
At this point, the APP should be up & running.
π Step 7 (Optional) - Visualize
HEROKU
logs
$ heroku logs --tail
For more components, pages and priority on support, feel free to take a look at this amazing starter:
Soft UI Dashboard is a premium Bootstrap 5 Design now available for download in Flask. Made of hundred of elements, designed blocks, and fully coded pages, Soft UI Dashboard PRO is ready to help you create stunning websites and web apps.
- π Soft UI Dashboard PRO Flask - product page
- β
Enhanced UI
- more pages and components - β
Priority
on support
- β
Soft UI Dashboard Flask - Open-source starter generated by AppSeed Generator.