Flask Project Template
A full feature Flask project template.
See also
- Python-Project-Template for a lean, low dependency Python app.
 
HOW TO USE THIS TEMPLATE
- Create a new repository from this template and choose a name for your project
(e.g. 
my_awesome_project- recommendation is to use all lowercase and underscores separation for repo names.) - Wait until the first run of CI finishes (Gitea Actions will process the template and commit to your new repo)
 - Read the file CONTRIBUTING.md
 - Then clone your new project and happy coding!
 
Note
: WAIT until first CI run on gitea actions before cloning your new project.
What is included on this template?
- 🍾 A full feature Flask application with CLI, API, Admin interface, web UI and modular configuration.
 - 📦 A basic setup.py file to provide installation, packaging and distribution for your project.
Template uses setuptools because it's the de-facto standard for Python packages, you can runmake switch-to-poetrylater if you want. - 🤖 A Makefile with the most useful commands to install, test, lint, format and release your project.
 - 📃 Documentation structure using mkdocs
 - 💬 Auto generation of change log using gitchangelog to keep a HISTORY.md file automatically based on your commit history on every release.
 - 🐋 A simple Containerfile to build a container image for your project.
Containerfileis a more open standard for building container images than Dockerfile, you can use buildah or docker with this file. - 🧪 Testing structure using pytest
 - ✅ Code linting using flake8
 - 🎯 Entry points to execute your program using 
python -m <project_name>or$ project_namewith basic CLI argument parsing. - 🔄 Continuous integration using Gitea Actions with jobs to lint, test and release your project on Linux, Mac and Windows environments.
 
Curious about architectural decisions on this template? read ABOUT_THIS_TEMPLATE.md
project_name Flask Application
project_description
Installation
From source:
git clone https://git.disi.dev/author_name/project_urlname project_name
cd project_name
make install
Executing
This application has a CLI interface that extends the Flask CLI.
Just run:
$ project_name
or
$ python -m project_name
To see the help message and usage instructions.
First run
project_name create-db   # run once
project_name populate-db  # run once (optional)
project_name add-user -u admin -p 1234  # ads a user
project_name run
Go to:
- Website: http://localhost:5000
 - Admin: http://localhost:5000/admin/
- user: admin, senha: 1234
 
 - API GET:
 
Note
: You can also use
flask runto run the application.
Description
				
					Languages
				
				
								
								
									Python
								
								52.2%
							
						
							
								
								
									Makefile
								
								22%
							
						
							
								
								
									Shell
								
								16.4%
							
						
							
								
								
									HTML
								
								8.4%
							
						
							
								
								
									Dockerfile
								
								1%