Skip to content

Latest commit

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

PythonFastAPIAiogramMongoDBDocker

Компоненты:

  • Веб-приложение на FastAPI
  • Веб-сервер Nginx
  • База данных MongoDB
  • Телеграм-бот на Aiogram 3

Возможности:

  • Создание сообщения с помощью запроса к API или через бота
  • Просмотр всех сообщений с помощью запроса к API или через бота
  • Сохранение IP-адреса отправителя
  • Сохранение username отправителя (при работе через бота — автоматически, при запросе к API — опционально, можно указать вручную)

Запуск:

Для запуска вам потребуется установить Docker.

  1. Клонировать проект с Github:
 git clone https://github.com/moduleb/fastapi_aiogram_mongodb.git
  1. Перейти в папку проекта:
cd fastapi_aiogram_mongodb
  1. Создать файл .env, вписать токен от телеграм бота в формате TOKEN=ваш_токен:
nano .env
  1. Запустить приложение:
sudo docker compose up -d --build
  1. Остановить приложение:
sudo docker compose stop

Эндпоинты:

Приложение доступно по адресу:

  • на локальной машине http://0.0.0.0/:80
  • на удаленном сервере http://<IP адрес сервера>:80

[post] .../api/v1/messages

Принимает JSON с данными нового пользователя:

{
"content": "string",
"username": "string"#опционально
}

Возвращает данные созданного сообщения:

{
"content": "string", #текст сообщения"host": "172.18.0.5", #ip адрес отправителя (локальный адрес, если отправлено через бота)"username": "string"#гusername пользователя, если отправлено через бота (при запросе к апи, может быть указано опционально)
}

[get] .../api/v1/messages

Возвращает все сохраненные сообщения:

[
{
"content": "test",
"host": "192.168.65.1",
"username": "user"
},
{
"content": "dfgtjh",
"host": "172.18.0.4",
"username": "popcorn138"
},
]

About

Telegram-бот для принятия заявок

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages