Skip to content

vl336/meethub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

493 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeetHub

A meeting and matching platform with Telegram bot integration, deployed on Yandex Cloud serverless infrastructure.

Features

  • User profile management
  • Event creation and management
  • Intelligent matching system using ML
  • Telegram bot integration for notifications
  • PostgreSQL database backend
  • Yandex Cloud serverless deployment

Architecture

Serverless Infrastructure:

  • Yandex Serverless Containers - Auto-scaling API and Bot
  • Yandex Managed PostgreSQL - Fully managed database
  • Yandex Container Registry - Private Docker registry
  • Yandex Lockbox - Secure secret storage

Quick Start

Local Development

  1. Clone the repository
  2. Start PostgreSQL:
    cd Meethub
    docker-compose up -d postgres
  3. Run the API:
    dotnet run --project Meethub/Meethub.csproj

Serverless Deployment to Yandex Cloud

Deploy complete serverless infrastructure:

cd terraform
cp terraform.tfvars.example terraform.tfvars
# Edit terraform.tfvars with your credentials

terraform init
terraform apply

For detailed deployment instructions, see:

Documentation

Infrastructure Benefits

No Server Management:

  • No VMs to maintain
  • No OS updates
  • Automatic scaling
  • Built-in high availability

Cost Optimization:

  • Pay only for actual usage
  • ~$25-40/month for light traffic
  • Scales automatically with demand

Security:

  • Secrets in Yandex Lockbox
  • IAM-based access control
  • Managed database security
  • No exposed SSH ports

Development

  • .NET 8 Web API
  • PostgreSQL 15 database
  • ML-based matching algorithms
  • Telegram Bot integration

License

MIT

meethub

Я НА ЛИНУКСЕ, ПОТОМУ ГАЙД НА ЛИНУКС!!! ЕСЛИ ТЫ НА ВИНДЕ, ТО ВСЕ АНАЛОГИЧНО, НО БЕЗ SUDO!!!

В Meethub:

sudo systemctl start docker (если на винде, то не нужно)
sudo docker-compose up -d
dotnet run 

Переменные окружения передавать вот так (лучше в Bot, но вроде без разницы):

export API_KEY=ваш_ключ_апи BOT_TOKEN=ваш_токен API_URL=ваш_урл BOT_NAME=ваше_имя_бота

Или так:

sudo docker run --env BOT_TOKEN=ваш_токен --env API_KEY=ваш_ключ --env API_URL=ваш_url --env BOT_NAME=ваше_имя_бота ваш_образ

(Можно еще в docker-compose.yml передавать переменные)

В Bot:

python -m venv .venv
source .venv/bin/activate (на винде не знаю как, это для линукса)
pip install -r requirements.txt
python main.py

Менять таймаут метчинга и автоматического отклонения метча можно в Bot/config.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors