Docker-Container für
* download der activities mit garmindb
* erzeugen einer CSV-Datenbank der Radfahr-Aktivitäten
* Web-Dashboard für die Übersicht

App Generator e4e8f95643 Added Default ENV file 3 tahun lalu
apps 9070311c6b OAuth - Integrate GH Login In Sign Page 3 tahun lalu
media a353997161 Added media files 5 tahun lalu
nginx 038b7fc0c0 Update Docker 3 tahun lalu
.dockerignore 5c64a6db2d Release v1.0.8 3 tahun lalu
.env e4e8f95643 Added Default ENV file 3 tahun lalu
.gitignore e4e8f95643 Added Default ENV file 3 tahun lalu
CHANGELOG.md d3bb4f6e5a Update CHANGELOG.md 3 tahun lalu
Dockerfile 2aecd03a93 Docker Script Update 3 tahun lalu
LICENSE.md 5c64a6db2d Release v1.0.8 3 tahun lalu
Procfile c3b7d8aa30 Added procfile (HEROKU deployment) 3 tahun lalu
README.md cf42fd4f3d Update README.md 3 tahun lalu
docker-compose.yml 2aecd03a93 Docker Script Update 3 tahun lalu
env.sample 12b24925bd Update env.sample 3 tahun lalu
gunicorn-cfg.py 5c64a6db2d Release v1.0.8 3 tahun lalu
log.json 5c64a6db2d Release v1.0.8 3 tahun lalu
package.json 5c64a6db2d Release v1.0.8 3 tahun lalu
requirements.txt 116e900dc2 OAuth - Added Dependencies 3 tahun lalu
run.py 7f5b91af4a Integrate flask_minify (page compression) 3 tahun lalu

README.md

Black Dashboard Flask

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.


🚀 Built with App Generator, timestamp: 2022-05-25 09:44

  • Up-to-date dependencies, active versioning
  • DB Tools: SQLAlchemy ORM, Flask-Migrate (schema migrations)
  • Persistence:
    • SQLite for development - DEBUG=True in .env
    • MySql for production - DEBUG=False in .env
  • Authentication
    • Session Based (via flask_login)
    • Social Login (optional) for Github
  • Deployment
    • Docker, HEROKU
    • Page Compression via Flask-Minify (for production)
  • Dark Mode (enhancement)
    • Persistent via browser local storage


Black Dashboard - Seed project provided by AppSeed.


✨ Start the app in Docker

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 - Start the APP in Docker

$ docker-compose up --build 

Visit http://localhost:5085 in your browser. The app should be up & running.


✨ Create a new .env file using sample env.sample

The meaning of each variable can be found below:

  • DEBUG: if True the app runs in develoment mode
    • For production value False should be used
  • ASSETS_ROOT: used in assets management
    • default value: /static/assets
  • OAuth via Github
    • GITHUB_ID=
    • GITHUB_SECRET=


    ✨ Manual Build

    Download the code

    $ git clone https://github.com/app-generator/flask-black-dashboard.git
    $ cd flask-black-dashboard
    


    👉 Set Up for Unix, MacOS

    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/.


    👉 Set Up for Windows

    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/.


    👉 Create Users

    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 authenticate
      • http://127.0.0.1:5000/login


    Recompile CSS

    To recompile SCSS files, follow this setup:


    👉 Step #1 - Install tools

    • NodeJS 12.x or higher
    • Gulp - globally
      • npm install -g gulp-cli
    • Yarn (optional)


    👉 Step #2 - Change the working directory to assets folder

    $ cd apps/static/assets
    


    👉 Step #3 - Install modules (this will create a classic node_modules directory)

    $ npm install
    // OR
    $ yarn
    


    👉 Step #4 - Edit & Recompile SCSS files

    $ gulp
    

    The generated file is saved in static/assets/css directory.


    ✨ Code-base structure

    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
       |
       |-- ************************************************************************
    


    ✨ Deploy APP with HEROKU

    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-black-dashboard.git
    $ cd flask-black-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=True
    • FLASK_APP=run.py
    • ASSETS_ROOT=/static/assets

    AppSeed - HEROKU Set UP


    👉 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
    


    PRO Version

    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.


    Black Dashboard PRO - Full-Stack Starter generated by AppSeed.



    Black Dashboard Flask - Open-source starter generated by AppSeed Generator.