Code Monkey home page Code Monkey logo

black-hashmicro's Introduction

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
  • โœ… Black Dashboard, Persistent Dark-Mode
  • โœ… DB Tools: SQLAlchemy ORM, Flask-Migrate (schema migrations)
  • โœ… Persistence: SQLite (dev), MySql (prod)
  • โœ…Authentication: Session Based, OAuth via Github
  • โœ… Deployment: Docker, Page Compression (Flask-Minify)

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/Edit .env file

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_ID_HERE>
    • GITHUB_SECRET=<GITHUB_SECRET_HERE>

โœจ 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/.


Deploy on Render

The product can be easily deployed on Render using Python Deployer (open-source tool).


๐Ÿ‘‰ Step 1: Set UP a Render account

  • Create account
  • Create an API_KEY
  • Attach a credit card to the account
    • Note: Each Python service deployed on Render requires a monthly payment

๐Ÿ‘‰ Step 2: Download Python Deployer

$ git clone https://github.com/app-generator/deploy-automation-render.git   
$ cd deploy-automation-render
$ pip install -r requirements.txt

๐Ÿ‘‰ Step 3: Set up the ENV as suggested in the deployer help

$ export RENDER_API_KEY=<RENDER_API_KEY>   # mandatory
$ export RENDER_OWNER_ID=<RENDER_OWNER_ID> # needs to have a CC attached, used for Billing

๐Ÿ‘‰ Step 4: Deploy the repo

$ python.exe deployer.py flask https://github.com/app-generator/flask-star-admin "run:app"

The new service should be visible on your Render Dashboard and soon be LIVE.


app-gen-and-live-deploy-flask-black-dashboard.mp4

๐Ÿ‘‰ 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
   |
   |-- ************************************************************************

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 Flask - product page
    • โœ… Enhanced UI - more pages and components
    • โœ… Priority on support

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



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

black-hashmicro's People

Contributors

dnyz7 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.