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": {