Welcome to Iperon documentation!
General knowledge
The project is written in Python 3.10+
Here is the stack we are using
Name |
Software |
---|---|
Language |
Python 3.10+ |
Framework |
FastAPI |
Database |
Postgres 14 |
ORM |
Tortoise orm |
Cache |
Redis |
Queue |
Rabbit MQ |
Project structure
Folder and file |
Description |
---|---|
.github/ |
Github actions |
.run/ |
Startup scripts app for Pycharm IDE |
docker/ |
Docker files for API and Celery |
docs/ |
Documentation source files for Sphinx-doc |
iperon/ |
Project source files |
iperon/commands/ |
Command files |
iperon/contrib/ |
Supporting services and solutions |
iperon/handlers/ |
Request handlers |
iperon/services/ |
Business application logic |
iperon/store/ |
Services for working with the DB or http request |
iperon/templates/ |
HTML templates |
iperon/cache.py |
Working cache (redis) |
iperon/depends.py |
Inbound request handlers for functions |
iperon/exceptions.py |
Exception Handling |
iperon/http_base_client.py |
Base http client |
iperon/logger.py |
Logger |
iperon/routes.py |
Http Routes |
iperon/tasks.py |
Tasks for celery |
iperon/typeof.py |
Custom type object |
tests/ |
Tests files |
.editorconfig |
|
.flake8 |
Config linter flake8 |
.gitignore |
gitignore file |
.pre-commit-config.yaml |
See - https://pre-commit.com/ |
.codecov.yml |
See - https://codecov.io/ |
.env |
Development settings |
LICENSE |
License agreement |
MANIFEST.in |
Manifest |
mypy.ini |
Mypy settings, detail - https://mypy.readthedocs.io/ |
README.rst |
Default readme file |
requirements.txt |
Package dependency file |
setup.py |
Installation file |
Docker service
Container |
IP |
---|---|
ELK |
10.0.0.60 |
Postgres |
10.0.0.70 |
Redis |
10.0.0.80 |
RabbitMQ |
10.0.0.90 |