sample-flask-api-restx

Flask API Sample - Open-Source API Server | AppSeed

MIT License

Stars
8

Flask API Sample

Simple Flask API Server powered by Flask-RestX, SqlAlchemy, SQLite persistence - Provided by AppSeed.

Features:

  • Up-to-date dependencies
  • Simple, intuitive codebase - can be extended with ease.
  • Flask-restX
  • Docker support
  • Free support via email and Discord (1k+ community).

✨ API Definition

Route Verb Info Status
/datas GET return all items ✔️
POST create a new item ✔️
/datas:id GET return one item ✔️
PUT update item ✔️
DELETE delete item ✔️

✨ Quick Start in Docker

Get the code

$ git clone https://github.com/app-generator/flask-api-sample.git
$ cd flask-api-sample

Start the app in Docker

$ docker-compose up --build  

The API server will start using the PORT 5000.

✨ How to use the code

Step #1 - Clone the project

$ git clone https://github.com/app-generator/flask-api-sample.git
$ cd flask-api-sample

Step #2 - create virtual environment using python3 and activate it (keep it outside our project directory)

$ # Virtualenv modules installation (Unix based systems)
$ virtualenv env
$ source env/bin/activate
$
$ # Virtualenv modules installation (Windows based systems)
$ # virtualenv env
$ # .\env\Scripts\activate

Step #3 - Install dependencies in virtualenv

$ pip install -r requirements.txt

Step #4 - setup flask command for our app

$ export FLASK_APP=run.py
$ export FLASK_ENV=development

Or for Windows-based systems

$ (Windows CMD) set FLASK_APP=run.py
$ (Windows CMD) set FLASK_ENV=development
$
$ (Powershell) $env:FLASK_APP = ".\run.py"
$ (Powershell) $env:FLASK_ENV = "development"

Step #5 - start test APIs server at localhost:5000

$ flask run

Use the API via POSTMAN or Swagger Dashboard.

✨ Project Structure

api-server-flask/
├── api
   ├── __init__.py
   ├── config.py
   ├── models.py
   └── routes.py
├── README.md
├── requirements.txt
└── run.py

Flask API Sample - provided by AppSeed App Generator