## Installation Python 3.8 version is required. ```bash python3 --version ``` Create virtual environment and install packages ```bash virtualenv venv source ./venv/bin/activate pip install -r requirements.txt ``` *** ## Usage Create `.env` file and fill with similar data like `.env.example`. Then run application: ```bash flask run ``` *** ## Testing Run tests ```bash pytest ``` *** ### Useful commands: Add new package ```bash pip install NAME_OF_PACKAGE ``` Save new added package to requirements ```bash pip freeze > requirements.txt ``` *** #### Flask commands: Create the application structure directories ```bash flask startapp NAME_OF_APP ``` Above command create package structure: \ Create serializer in `__schemas__.py` file: ```python3 class ExampleSchema(ma.SQLAlchemyAutoSchema): class Meta: model = MODEL_NAME ``` \ Create models in `__models__.py` file: ```python3 class Example(db.Model): __tablename__ = "examples" id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(255), unique=True) ``` \ Create api routes in ```__routes__.py``` file. You only have to register blueprint in `app/__init__.py`. ```python3 from flask import Blueprint, make_response, jsonify, Response bp = Blueprint("{name}", __name__, url_prefix="/{name}") @bp.route("/", methods=["GET"]) def index() -> Response: return make_response(jsonify({{"hello": "{name}"}}), 200) ``` \ Print all your routes ```bash flask routes ``` Create migration, but first you have to create model ```bash flask db migrate ``` Apply your changes to database, use after migration command ```bash flask db upgrade ``` If you want back changes in your databases, use below command ```bash flask db downgrade ``` Create empty migration, you can write manually migration here. ```bash flask db revision ```