From 07a50a0c3028cf8913f11d375837dfba7d138daa Mon Sep 17 00:00:00 2001 From: App Generator Date: Mon, 20 Sep 2021 07:46:14 +0300 Subject: [PATCH] Release v1.0.2 - Bump Codebase & Improvements --- CHANGELOG.md | 17 +++++++ README.md | 133 ++++++++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 3 files changed, 124 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29d5fb2..d3030e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # Change Log +## [1.0.2] 2021-09-20 +### Improvements + +- Bump Django Codebase to [v2.0.4](https://github.com/app-generator/boilerplate-code-django-dashboard/releases) +- Dependencies update (all packages) + - Use Django==3.2.6 (latest stable version) +- Better Code formatting +- Improved Files organization +- Optimize imports +- Docker Scripts Update +- Tooling: + - Gulp SASS compilation script + - `Update README` - Recompile SCSS (new section) +- Fixes: + - Patch 500 Error when authenticated users access `admin` path (no slash at the end) + - Patch [#16](https://github.com/app-generator/boilerplate-code-django-dashboard/issues/16): Minor issue in Docker + ## [1.0.1] 2021-02-10 ### Improvements diff --git a/README.md b/README.md index 0b6f746..0f71340 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ > Free product - **Django Dashboard** starter project - Features: +- Up-to-date [dependencies](./requirements.txt): **Django 3.2.6 LTS** +- [SCSS compilation](#recompile-css) via **Gulp** - UI Kit: **Material Dashboard** (Free Version) provided by **[Creative-Tim](https://www.creative-tim.com/)** - Django Codebase - provided by **[AppSeed](https://appseed.us/)** - UI-Ready app, SQLite Database, Django Native ORM @@ -88,56 +90,133 @@ Within the download you'll find the following directories and files: ```bash < PROJECT ROOT > | - |-- core/ # Implements app logic and serve the static assets - | |-- settings.py # Django app bootstrapper + |-- core/ # Implements app configuration + | |-- settings.py # Defines Global Settings | |-- wsgi.py # Start the app in production | |-- urls.py # Define URLs served by all apps/nodes + | + |-- apps/ + | | + | |-- home/ # A simple app that serve HTML files + | | |-- views.py # Serve HTML pages for authenticated users + | | |-- urls.py # Define some super simple routes + | | + | |-- authentication/ # Handles auth routes (login and register) + | | |-- urls.py # Define authentication routes + | | |-- views.py # Handles login and registration + | | |-- 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 + | |-- 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 + | |-- accounts/ # Authentication pages + | | |-- login.html # Login page + | | |-- register.html # Register page | | - | index.html # The default page - | page-404.html # Error 404 page - | page-500.html # Error 404 page - | *.html # All other HTML pages - | - |-- authentication/ # Handles auth routes (login and register) - | | - | |-- urls.py # Define authentication routes - | |-- views.py # Handles login and registration - | |-- forms.py # Define auth forms - | - |-- app/ # A simple app that serve HTML files - | | - | |-- views.py # Serve HTML pages for authenticated users - | |-- urls.py # Define some super simple routes + | |-- home/ # UI Kit Pages + | |-- index.html # Index page + | |-- 404-page.html # 404 page + | |-- *.html # All other pages | - |-- requirements.txt # Development modules - SQLite storage + |-- requirements.txt # Development modules - SQLite storage | - |-- .env # Inject Configuration via Environment - |-- manage.py # Start the app - Django default start script + |-- .env # Inject Configuration via Environment + |-- manage.py # Start the app - Django default start script | |-- ************************************************************************ ```
+> The bootstrap flow + +- Django bootstrapper `manage.py` uses `core/settings.py` as the main configuration file +- `core/settings.py` loads the app magic from `.env` file +- Redirect the guest users to Login page +- Unlock the pages served by *app* node 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. + +
+ +## Deployment + +The app is provided with a basic configuration to be executed in [Docker](https://www.docker.com/), [Gunicorn](https://gunicorn.org/), and [Waitress](https://docs.pylonsproject.org/projects/waitress/en/stable/). + +### [Docker](https://www.docker.com/) execution +--- + +The application can be easily executed in a docker container. The steps: + +> Get the code + +```bash +$ git clone https://github.com/app-generator/django-dashboard-material.git +$ cd django-dashboard-material +``` + +> Start the app in Docker + +```bash +$ sudo docker-compose pull && sudo docker-compose build && sudo docker-compose up -d +``` + +Visit `http://localhost:85` in your browser. The app should be up & running. + +
+ ## 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 a299636..155c312 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "material-dashboard-django", "mastertemplate": "boilerplate-code-django-dashboard", - "version": "1.0.1", + "version": "1.0.2", "description": "Template project - Django Boilerplate Code ", "scripts": {}, "repository": {