Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gofynd/flask-full
starter/boilerplate flask application with celery, mongoengine, signals, shell commands, swagger api docs and sphinx docs integration
https://github.com/gofynd/flask-full
boilerplate celery celerybeat eventlet flask mongoengine python-3 socket-io starter
Last synced: about 1 month ago
JSON representation
starter/boilerplate flask application with celery, mongoengine, signals, shell commands, swagger api docs and sphinx docs integration
- Host: GitHub
- URL: https://github.com/gofynd/flask-full
- Owner: gofynd
- Created: 2018-04-04T13:17:50.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-26T13:30:12.000Z (over 6 years ago)
- Last Synced: 2024-08-13T07:08:42.550Z (5 months ago)
- Topics: boilerplate, celery, celerybeat, eventlet, flask, mongoengine, python-3, socket-io, starter
- Language: Python
- Homepage: https://medium.com/@neerajshukla1911/how-to-build-large-application-using-flask-celery-5cc7d560b73e
- Size: 43.9 KB
- Stars: 154
- Watchers: 33
- Forks: 32
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
- jimsghstars - gofynd/flask-full - starter/boilerplate flask application with celery, mongoengine, signals, shell commands, swagger api docs and sphinx docs integration (Python)
README
Flask-Full
**********
.. image:: https://img.shields.io/circleci/project/github/RedSparr0w/node-csgo-parser/master.svg
:alt: TravisFlask-Full is a boilerplate framework on top of flask for developing large api backend applications using flask. It has in built support for creating shell commands, celery, websocket, eventlet, mongoengine orm, swagger-ui api docs and sphinx docs.
Usage
-----
Flask-Full requires minimum **python 3.5**.Pre-required Setup:
* MacOS/Linux/Windows
* git
* Python3 / pip3 /
* MongoDB
.. code:: shell
git clone [email protected]:fynd/flask-full.git
cd flask-full (rename repository directory to required value)
pip3 install -r requirements.txtTo start server hit
.. code:: shell
python3 manage.py run -p 8080
Server will start on port 8080. Hitting http://localhost:8080/ping/ on web browser should return {"message": "pong"}.
API Docs are powered by swagger ui and can be viewed by hitting http://localhost:8080/apidocs/ .
To start celery hit
.. code:: shell
python3 manage.py celery
To start beat hit
.. code:: shell
python3 manage.py beat
For available commands and options hit
.. code:: shell
python manage.py
Structure
---------
.. code:: shell├── CHANGES Change logs
├── README.rst
├── manage.py Management commands file
├── meta.conf App meta conf
├── requirements.txt 3rd party libraries libraries
├── requirements_test.txt Testing 3rd libraries
├── temp Temp directory for storing logs
├── app
├── __init__.py App starting point
├── app.py Main blueprint with before and after request handler
├── api_info.py API level constants
├── choices.py CHOICES constant dictionary
├── crons.py Crons dictionary file
├── exceptions.py Custom exceptions
├── stats.py API stats
├── wsgi.py wsgi app
├── wsgi_aux.py wsgi auxilary app
├── utils Utils
│ ├── __init__.py
│ ├── api_caller.py Wrapper over requests which handles emits blinker signal over call
│ ├── common_util.py common utils
│ ├── json_util.py contains custom flask encodes
│ ├── slack_util.py
└── api
└── v1
└── ├── urls.py url routes
├──demo_api container one demo apiYou can also use docker-compose. Hit below command to start server on port 8080.
.. code:: shell
docker-compose build
docker-compose up