Telegram bot for free couriers and customers
Required to have git
, make
, python
, docker
и docker-compose
installed
Download project from GitHub
git clone https://github.com/ilkztsff/DeliveryDetect/
Build docker container
make build
Run project
make start
Run project in background mode
make up
Stop all containers
make stop
Remove all containers and data
make rm
Generate postgres database revision
make revision
Upgrade database(use head
as a revision name for latest one)
make upgrade revision=<revision name>
Downgrade database
make downgrade revision=<revision name>
Install dependencies
make install
Update dependencies
make update
Lint the project
make lint
Run black
make fix
Run all tests
make test
See test coverage
make coverage
All required enviromental variables are below. Examples here
-
HOST
- server host -
BOT_TOKEN
- telegram bot token, get it from @BotFather -
WEB_SERVER_URL
- url of a web server for getting updates from telegram -
REDIS_HOST
- host for connecting to redis -
REDIS_PORT
- port for redis database -
REDIS_PASSWORD
- password for redis database -
POSTGRES_PORT
- port for postgres database -
POSTGRES_USER
- username for postgres database -
POSTGRES_PASSWORD
- password for postgres database -
POSTGRES_DB
- name for postgres database
-
aiogram - 3.8.0
-
fastapi - 0.111.0
-
asyncpg - 0.29.0
-
sqlalchemy - 2.0.31
-
redis - 5.0.7
-
alembic - 1.13.2
-
python-dotenv - 1.0.1
-
uvicorn - 0.30.1
-
mypy - 1.10.1
-
flake8 - 7.1.0
-
coverage - 7.5.4
-
pytest - 8.2.2
-
pytest-asyncio - 0.23.7
-
pytest-dependency - 0.6.0
-
black - 24.4.2