Open-source Flask Dashboard generated by AppSeed op top of a modern Bootstrap design. Designed for those who like bold elements and beautiful websites, Black Dashboard is ready to help you create stunning websites and webapps. Black Dashboard is built with over 50 frontend individual elements, like buttons, inputs, navbars, nav tabs, cards, or alerts, giving you the freedom of choosing and combining.
product pageLIVE DemoLearn how to use and update the product
🚀 Built with App Generator, timestamp:
2022-05-25 09:44
Up-to-date dependencies, active versioningDB Tools: SQLAlchemy ORM, Flask-Migrate (schema migrations)Persistence:
SQLite for development - DEBUG=True in .envMySql for production - DEBUG=False in .envAuthentication
Social Login (optional) for GithubDeployment
Docker, HEROKUFlask-Minify (for production)Dark Mode (enhancement)
local storageStep 1 - Download the code from the GH repository (using
GIT)
$ git clone https://github.com/app-generator/flask-black-dashboard.git
$ cd flask-black-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.
.env file using sample env.sampleThe meaning of each variable can be found below:
DEBUG: if True the app runs in develoment mode
False should be usedASSETS_ROOT: used in assets management
/static/assetsOAuth via Github
GITHUB_ID=
GITHUB_SECRET=
Download the code
$ git clone https://github.com/app-generator/flask-black-dashboard.git
$ cd flask-black-dashboard
Unix, MacOSInstall 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/.
WindowsInstall 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/.
By default, the app redirects guest users to authenticate. In order to access the private pages, follow this set up:
flask runregistration page and create a new user:
http://127.0.0.1:5000/registersign in page and authenticate
http://127.0.0.1:5000/loginTo recompile SCSS files, follow this setup:
👉 Step #1 - Install tools
👉 Step #2 - Change the working directory to
assetsfolder
$ cd apps/static/assets
👉 Step #3 - Install modules (this will create a classic
node_modulesdirectory)
$ npm install
// OR
$ yarn
👉 Step #4 - Edit & Recompile SCSS files
$ gulp
The generated file is saved in static/assets/css directory.
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
heroku login command👉 Step 1 - Download the code from the GH repository (using
GIT)
$ git clone https://github.com/app-generator/flask-black-dashboard.git
$ cd flask-black-dashboard
👉 Step 2 - Connect to
HEROKUusing the console
$ # This will open a browser window - click the login button (in browser)
$ heroku login
👉 Step 3 - Create the
HEROKUproject
$ 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
HEROKUlogs
$ heroku logs --tail
For more components, pages and priority on support, feel free to take a look at this amazing starter:
Black Dashboard is a premium Bootstrap Design now available for download in Django. Made of hundred of elements, designed blocks, and fully coded pages, Black Dashboard PRO is ready to help you create stunning websites and web apps.
Enhanced UI - more pages and componentsPriority on supportBlack Dashboard Flask - Open-source starter generated by AppSeed Generator.