2024-03-17 18:50:03 +03:00
2024-03-18 19:25:38 +03:00
2024-03-19 15:39:06 +03:00
2024-03-17 18:50:03 +03:00
2024-03-17 18:50:03 +03:00
2024-03-17 18:50:03 +03:00
2024-03-17 18:50:03 +03:00
2024-03-17 18:50:03 +03:00
2024-03-20 20:06:15 +03:00
2024-03-17 18:50:03 +03:00

banner

✈️ Travel agent bot

This bot will help you organise and plan your travels.

⚙️ Technologies

Python

Python is used successfully in thousands of real-world business applications around the world, including many large and mission critical systems.

aiogram

aiogram is a modern and fully asynchronous framework for Telegram Bot API using asyncio and aiohttp.

SQLAlchemy

SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.

It provides a full suite of well known enterprise-level persistence patterns, designed for efficient and high-performing database access, adapted into a simple and Pythonic domain language.

PostgreSQL

PostgreSQL is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.

🛠️ Local development & testing

Clone repository with git

git clone https://github.com/Central-University-IT-prod/backend-devitq.git

Navigate to the project directory

cd backend-devitq

Create virtual enviroment & activate it

Windows

python -m venv venv
venv\Scripts\activate

Linux

python -m venv venv
source venv/bin/activate

Install dev requirements

pip install -r requirements/dev.txt

Setup .env file

Windows

copy template.env .env

Linux

cp template.env .env

And replace all default values with actual values

Generate new migrations(if needed)

alembic -c app/alembic.ini revision --autogenerate

Apply migrations with alembic

alembic -c app/alembic.ini upgrade head

Run bot in development mode

python -m app

🚀 Deploying

Our app uses docker compose for production deployment.

Clone repository with git

git clone https://github.com/Central-University-IT-prod/backend-devitq.git

Navigate to the project directory

cd backend-devitq

Setup .env file

Windows

copy template.env .env

Linux

cp template.env .env

And replace all default values with actual values

Pull actual docker images

docker compose pull

Start containers (in detached mode)

docker compose up -d --build

📝 Notes

Set this in .env file when using docker compose:

BOT_TOKEN = 6943803094:AAEHG-vOP2pNEuxb9rDIhisiQuGLuBIjx1Q
SQLALCHEMY_DATABASE_URI = postgresql://postgres:wTAb5KoZ4dBtscg@localhost:5432/postgres

I thought up the architecture of the project myself, I won't mind feedback on it)

S
Description
My solution for the final stage of the PROD Olympiad.
Readme 17 MiB
Languages
Python 99.3%
Mako 0.6%
Dockerfile 0.1%