The project is created in order to practice using design patterns in backend development.
In the root directory, create a file env_variables.yaml and paste the following content to it:
env_variables:
FIREBASE_PROJECT_ID: 'project_id'
GAE_USE_SOCKETS_HTTPLIB : 'true'
In the root directory, create a file key.json and paste Firebase key to it.
virtualenv -p python3 .venv
source .venv/bin/activate
python3 setup.py develop
gunicorn --bind 0.0.0.0:8080 wsgi
python3 -m venv venv
\venv\Scripts\activate.bat
python3 setup.py develop
python3 wsgi.py
Local version: https://0.0.0.0:8080/api/1/
Development version: https://lyrical-amulet-276713.ew.r.appspot.com/api/1/
If you add a new package, you should update requirements.txt:
pip freeze > requirements.txt
All changes in the dev branch, automatically deploy to Google App Engine.
- Model-View-Presenter architecture
- Inversion of Control with IoC Container and Dependency Injection
- Facade
- Builder
- IoC and DI
- Decorator
- Serializer
- Application factory
The following technologies were used:
- python3
- flask
- Firestore
- Google cloud platform, App Engine