diff --git a/CHANGELOG.md b/CHANGELOG.md index a5a589f8..6d49672c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Change Log +## [1.0.4] 2021-11-10 +### Improvements + +- Bump Codebase: [Flask Dashboard](https://github.com/app-generator/boilerplate-code-flask-dashboard) v2.0.0 + - Dependencies update (all packages) + - Flask==2.0.1 (latest stable version) + - Better Code formatting + - Improved Files organization + - Optimize imports + - Docker Scripts Update + - Gulp Tooling (SASS Compilation) +- Fixes: + - Import error caused by WTForms + ## [1.0.3] 2021-05-16 ### Dependencies Update diff --git a/README.md b/README.md index d54f7b6f..942efac9 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ > Free product - **Flask Dashboard** starter project - Features: +- Up-to-date [dependencies](./requirements.txt): **Flask 2.0.1** +- [SCSS compilation](#recompile-css) via **Gulp** - UI Kit: **Argon Dashboard** (Free Version) provided by **[Creative-Tim](https://www.creative-tim.com/)** - Flask Codebase - provided by **[AppSeed](https://appseed.us/)** - SQLite, PostgreSQL, SQLAlchemy ORM @@ -22,6 +24,7 @@ ## Table of Contents * [Demo](#demo) +* [Docker Support](#docker-support) * [Quick Start](#quick-start) * [Documentation](#documentation) * [File Structure](#file-structure) @@ -42,6 +45,27 @@
+## Docker Support + +> Get the code + +```bash +$ git clone https://github.com/app-generator/black-dashboard-flask.git +$ cd black-dashboard-flask +``` + +> Start the app in Docker + +```bash +$ docker-compose pull # download dependencies +$ docker-compose build # local set up +$ docker-compose up -d # start the app +``` + +Visit `http://localhost:85` in your browser. The app should be up & running. + +
+ ## Quick start > UNZIP the sources or clone the private repository. After getting the code, open a terminal and navigate to the working directory, with product source code. @@ -98,41 +122,115 @@ Within the download you'll find the following directories and files: ```bash < PROJECT ROOT > | - |-- app/ - | |-- home/ # Home Blueprint - serve app pages (private area) - | |-- base/ # Base Blueprint - handles the authentication - | |-- static/ - | | |-- # CSS files, Javascripts files - | | - | |-- templates/ # Templates used to render pages - | | - | |-- includes/ # - | | |-- 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 # Registration page + |-- 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 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 # Development modules - SQLite storage + |-- requirements-mysql.txt # Production modules - Mysql DMBS + |-- requirements-pqsql.txt # Production modules - PostgreSql DMBS | - |-- requirements.txt # Development modules - SQLite storage - |-- requirements-mysql.txt # Production modules - Mysql DMBS - |-- requirements-pqsql.txt # Production modules - PostgreSql DMBS + |-- Dockerfile # Deployment + |-- docker-compose.yml # Deployment + |-- gunicorn-cfg.py # Deployment + |-- nginx # Deployment + | |-- appseed-app.conf # Deployment | - |-- .env # Inject Configuration via Environment - |-- config.py # Set up the app - |-- run.py # Start the app - WSGI gateway + |-- .env # Inject Configuration via Environment + |-- run.py # Start the app - WSGI gateway | |-- ************************************************************************ ```
+> The bootstrap flow + +- `run.py` loads the `.env` file +- Initialize the app using the specified profile: *Debug* or *Production* + - If env.DEBUG is set to *True* the SQLite storage is used + - If env.DEBUG is set to *False* the specified DB driver is used (MySql, PostgreSQL) +- Call the app factory method `create_app` defined in app/__init__.py +- Redirect the guest users to Login page +- Unlock the pages served by *home* blueprint for authenticated users + +
+ +## Recompile CSS + +To recompile SCSS files, follow this setup: + +
+ +**Step #1** - Install tools + +- [NodeJS](https://nodejs.org/en/) 12.x or higher +- [Gulp](https://gulpjs.com/) - globally + - `npm install -g gulp-cli` +- [Yarn](https://yarnpkg.com/) (optional) + +
+ +**Step #2** - Change the working directory to `assets` folder + +```bash +$ cd apps/static/assets +``` + +
+ +**Step #3** - Install modules (this will create a classic `node_modules` directory) + +```bash +$ npm install +// OR +$ yarn +``` + +
+ +**Step #4** - Edit & Recompile SCSS files + +```bash +$ gulp scss +``` + +The generated file is saved in `static/assets/css` directory. + +
+ ## Browser Support At present, we officially aim to support the last two versions of the following browsers: diff --git a/package.json b/package.json index d23f5e2d..8c4ca1a4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "argon-dashboard-flask", "mastertemplate": "boilerplate-code-django-dashboard", - "version": "1.0.3", + "version": "1.0.4", "description": "Template project - Django Boilerplate Code ", "scripts": {}, "repository": {