Skip to content

Commit e01497b

Browse files
committed
Release v1.0.7 - Bump UI & codebase
1 parent c44a685 commit e01497b

File tree

130 files changed

+55875
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

130 files changed

+55875
-0
lines changed

.dockerignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.git
2+
__pycache__
3+
*.pyc
4+
*.pyo
5+
*.pyd

.env

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
DEBUG=False
2+
FLASK_APP=run.py
3+
FLASK_ENV=development
4+
ASSETS_ROOT=/static/assets
5+
DB_ENGINE=mysql
6+
DB_HOST=localhost
7+
DB_NAME=appseed_db
8+
DB_USERNAME=appseed_db_usr
9+
DB_PASS=pass
10+
DB_PORT=3306

.gitignore

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
5+
# tests and coverage
6+
*.pytest_cache
7+
.coverage
8+
9+
# database & logs
10+
*.db
11+
*.sqlite3
12+
*.log
13+
14+
# venv
15+
env
16+
venv
17+
18+
# other
19+
.DS_Store
20+
21+
# sphinx docs
22+
_build
23+
_static
24+
_templates
25+
26+
# javascript
27+
package-lock.json
28+
.vscode/symbols.json
29+
30+
apps/static/assets/node_modules
31+
apps/static/assets/yarn.lock
32+
apps/static/assets/.temp
33+

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Change Log
22

3+
## [1.0.7] 2022-06-09
4+
### Improvements
5+
6+
- Built with [Gradient Able Generator](https://appseed.us/generator/gradient-able/)
7+
- Timestamp: `2022-06-09 09:13`
8+
39
## [1.0.6] 2022-06-02
410
### Improvements
511

Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
FROM python:3.9
2+
3+
# set environment variables
4+
ENV PYTHONDONTWRITEBYTECODE 1
5+
ENV PYTHONUNBUFFERED 1
6+
7+
COPY requirements.txt .
8+
9+
# install python dependencies
10+
RUN pip install --upgrade pip
11+
RUN pip install --no-cache-dir -r requirements.txt
12+
13+
COPY . .
14+
15+
# gunicorn
16+
CMD ["gunicorn", "--config", "gunicorn-cfg.py", "run:app"]

LICENSE.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# MIT License
2+
3+
Copyright (c) 2019 - present [AppSeed](http://appseed.us/)
4+
5+
<br />
6+
7+
## Licensing Information
8+
9+
<br />
10+
11+
| Item | - |
12+
| ---------------------------------- | --- |
13+
| License Type | MIT |
14+
| Use for print | **YES** |
15+
| Create single personal website/app | **YES** |
16+
| Create single website/app for client | **YES** |
17+
| Create multiple website/apps for clients | **YES** |
18+
| Create multiple SaaS applications | **YES** |
19+
| End-product paying users | **YES** |
20+
| Product sale | **YES** |
21+
| Remove footer credits | **YES** |
22+
| --- | --- |
23+
| Remove copyright mentions from source code | NO |
24+
| Production deployment assistance | NO |
25+
| Create HTML/CSS template for sale | NO |
26+
| Create Theme/Template for CMS for sale | NO |
27+
| Separate sale of our UI Elements | NO |
28+
29+
<br />
30+
31+
---
32+
For more information regarding licensing, please contact the AppSeed Service < *support@appseed.us* >

README.md

Lines changed: 273 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,273 @@
1+
# [Gradient Able](https://appseed.us/generator/gradient-able/) Flask
2+
3+
Open-source **Flask Dashboard** generated by `AppSeed` op top of a modern design. **[Gradient Able](https://appseed.us/generator/gradient-able/)** Bootstrap Lite is the most stylised Bootstrap 4 Lite Admin Template, around all other Lite/Free admin templates in the market. It comes with high feature-rich pages and components with fully developer-centric code. Before developing Gradient Able our key points were performance and design.
4+
5+
- 👉 [Gradient Able Flask](https://appseed.us/product/gradient-able/flask/) - Product page
6+
- 👉 [Gradient Able Flask](https://flask-gradient-able.appseed-srv1.com/) - LIVE deployment
7+
- 👉 [Complete documentation](https://docs.appseed.us/boilerplate-code/flask-dashboard) - `Learn how to use and update the product`
8+
-[Set up the environment](https://docs.appseed.us/boilerplate-code/flask-dashboard#environment)
9+
-[Manage App users](https://docs.appseed.us/boilerplate-code/flask-dashboard#manage-app-users)
10+
-[Application Bootstrap Flow](https://docs.appseed.us/boilerplate-code/flask-dashboard#application-bootstrap-flow)
11+
-[UI Assets and Templates](https://docs.appseed.us/boilerplate-code/flask-dashboard#ui-assets-and-templates)
12+
-[Set up the MySql Database](https://docs.appseed.us/boilerplate-code/flask-dashboard#set-up-the-mysql-database)
13+
-[Static Assets for production](https://docs.appseed.us/boilerplate-code/flask-dashboard#static-assets-for-production)
14+
15+
<br />
16+
17+
> Built with [Gradient Able Generator](https://appseed.us/generator/gradient-able/)
18+
19+
- Timestamp: `2022-06-09 09:13`
20+
- Build ID: `c67689db-f392-4466-baff-1ca7ee69b29b`
21+
- **Free [Support](https://appseed.us/support/)** (registered users) via `Email` and `Discord`
22+
23+
<br />
24+
25+
> Features
26+
27+
- `Up-to-date dependencies`
28+
- Database: `mysql`
29+
- `DB Tools`: SQLAlchemy ORM, Flask-Migrate (schema migrations)
30+
- Session-Based authentication (via **flask_login**), Forms validation
31+
32+
<br />
33+
34+
![Gradient Able - Starter generated by AppSeed.](https://user-images.githubusercontent.com/51070104/171583187-c4ca1bef-b535-458e-9250-8d62ba1f5b30.png)
35+
36+
<br />
37+
38+
39+
## ✨ Start the app in Docker
40+
41+
> **Step 1** - Download the code from the GH repository (using `GIT`)
42+
43+
```bash
44+
$ # Get the code
45+
$ git clone https://github.com/app-generator/flask-gradient-able.git
46+
$ cd flask-gradient-able
47+
```
48+
49+
<br />
50+
51+
> **Step 2** - Edit `.env` and set `DEBUG=True`. This will activate the `SQLite` persistance.
52+
53+
```txt
54+
DEBUG=True
55+
```
56+
57+
<br />
58+
59+
> **Step 3** - Start the APP in `Docker`
60+
61+
```bash
62+
$ docker-compose up --build
63+
```
64+
65+
Visit `http://localhost:5085` in your browser. The app should be up & running.
66+
67+
<br />
68+
69+
70+
71+
## ✨ Set up the MySql Database
72+
73+
**Note:** Make sure your Mysql server is properly installed and accessible.
74+
75+
> **Step 1** - Create the MySql Database to be used by the app
76+
77+
- `Create a new MySql` database
78+
- `Create a new user` and assign full privilegies (read/write)
79+
80+
<br />
81+
82+
> **Step 2** - Edit the `.env` to match your MySql DB credentials. Make sure `DB_ENGINE` is set to `mysql`.
83+
84+
- `DB_ENGINE` : `mysql`
85+
- `DB_NAME` : default value = `appseed_db`
86+
- `DB_HOST` : default value = `localhost`
87+
- `DB_PORT` : default value = `3306`
88+
- `DB_USERNAME`: default value = `appseed_db_usr`
89+
- `DB_PASS` : default value = `pass`
90+
91+
<br />
92+
93+
Here is a sample:
94+
95+
```txt
96+
# .env sample
97+
98+
DEBUG=False # False enables the MySql Persistence
99+
100+
DB_ENGINE=mysql # Database Driver
101+
DB_NAME=appseed_db # Database Name
102+
DB_USERNAME=appseed_db_usr # Database User
103+
DB_PASS=STRONG_PASS_HERE # Password
104+
DB_HOST=localhost # Database HOST, default is localhost
105+
DB_PORT=3306 # MySql port, default = 3306
106+
```
107+
108+
<br />
109+
110+
111+
## ✨ How to use it
112+
113+
> Download the code
114+
115+
```bash
116+
$ # Get the code
117+
$ git clone https://github.com/app-generator/flask-gradient-able.git
118+
$ cd flask-gradient-able
119+
```
120+
121+
<br />
122+
123+
### 👉 Set Up for `Unix`, `MacOS`
124+
125+
> Install modules via `VENV`
126+
127+
```bash
128+
$ virtualenv env
129+
$ source env/bin/activate
130+
$ pip3 install -r requirements.txt
131+
```
132+
133+
<br />
134+
135+
> Set Up Flask Environment
136+
137+
```bash
138+
$ export FLASK_APP=run.py
139+
$ export FLASK_ENV=development
140+
```
141+
142+
<br />
143+
144+
> Start the app
145+
146+
```bash
147+
$ flask run
148+
```
149+
150+
At this point, the app runs at `http://127.0.0.1:5000/`.
151+
152+
<br />
153+
154+
### 👉 Set Up for `Windows`
155+
156+
> Install modules via `VENV` (windows)
157+
158+
```
159+
$ virtualenv env
160+
$ .\env\Scripts\activate
161+
$ pip3 install -r requirements.txt
162+
```
163+
164+
<br />
165+
166+
> Set Up Flask Environment
167+
168+
```bash
169+
$ # CMD
170+
$ set FLASK_APP=run.py
171+
$ set FLASK_ENV=development
172+
$
173+
$ # Powershell
174+
$ $env:FLASK_APP = ".\run.py"
175+
$ $env:FLASK_ENV = "development"
176+
```
177+
178+
<br />
179+
180+
> Start the app
181+
182+
```bash
183+
$ flask run
184+
```
185+
186+
At this point, the app runs at `http://127.0.0.1:5000/`.
187+
188+
<br />
189+
190+
### 👉 Create Users
191+
192+
By default, the app redirects guest users to authenticate. In order to access the private pages, follow this set up:
193+
194+
- Start the app via `flask run`
195+
- Access the `registration` page and create a new user:
196+
- `http://127.0.0.1:5000/register`
197+
- Access the `sign in` page and authenticate
198+
- `http://127.0.0.1:5000/login`
199+
200+
<br />
201+
202+
## ✨ Code-base structure
203+
204+
The project is coded using blueprints, app factory pattern, dual configuration profile (development and production) and an intuitive structure presented bellow:
205+
206+
```bash
207+
< PROJECT ROOT >
208+
|
209+
|-- apps/
210+
| |
211+
| |-- home/ # A simple app that serve HTML files
212+
| | |-- routes.py # Define app routes
213+
| |
214+
| |-- authentication/ # Handles auth routes (login and register)
215+
| | |-- routes.py # Define authentication routes
216+
| | |-- models.py # Defines models
217+
| | |-- forms.py # Define auth forms (login and register)
218+
| |
219+
| |-- static/
220+
| | |-- <css, JS, images> # CSS files, Javascripts files
221+
| |
222+
| |-- templates/ # Templates used to render pages
223+
| | |-- includes/ # HTML chunks and components
224+
| | | |-- navigation.html # Top menu component
225+
| | | |-- sidebar.html # Sidebar component
226+
| | | |-- footer.html # App Footer
227+
| | | |-- scripts.html # Scripts common to all pages
228+
| | |
229+
| | |-- layouts/ # Master pages
230+
| | | |-- base-fullscreen.html # Used by Authentication pages
231+
| | | |-- base.html # Used by common pages
232+
| | |
233+
| | |-- accounts/ # Authentication pages
234+
| | | |-- login.html # Login page
235+
| | | |-- register.html # Register page
236+
| | |
237+
| | |-- home/ # UI Kit Pages
238+
| | |-- index.html # Index page
239+
| | |-- 404-page.html # 404 page
240+
| | |-- *.html # All other pages
241+
| |
242+
| config.py # Set up the app
243+
| __init__.py # Initialize the app
244+
|
245+
|-- requirements.txt # App Dependencies
246+
|
247+
|-- .env # Inject Configuration via Environment
248+
|-- run.py # Start the app - WSGI gateway
249+
|
250+
|-- ************************************************************************
251+
```
252+
253+
<br />
254+
255+
256+
257+
## ✨ PRO Version
258+
259+
> For more components, pages and priority on support, feel free to take a look at this amazing starter:
260+
261+
Designed for those who like bold elements and beautiful websites, **Gradient Able** is the most stylish Bootstrap 4 Admin Template compare to all other Bootstrap admin templates. It comes with high feature-rich pages and components with fully developer-centric code.
262+
263+
- 👉 [Flask Gradient PRO](https://appseed.us/product/gradient-able-pro/flask/) - product page
264+
- 👉 [Flask Gradient PRO](https://flask-gradient-able-pro.appseed-srv1.com) - LIVE Deployment
265+
266+
<br >
267+
268+
![Gradient Able PRO - Starter generated by AppSeed.](https://user-images.githubusercontent.com/51070104/171583582-d9652e7e-f420-4cf0-8eb1-dda3c79f8c18.png)
269+
270+
<br />
271+
272+
---
273+
[Gradient Able](https://appseed.us/generator/gradient-able/) Flask - Open-source starter generated by **[AppSeed Generator](https://appseed.us/generator/)**.

0 commit comments

Comments
 (0)