https://github.com/mrgick/pskgu_api
Апи расписания для сайта rasp.pskgu.ru (базируется на парсинге сайта)
https://github.com/mrgick/pskgu_api
api fastapi mongodb pskgu
Last synced: 2 months ago
JSON representation
Апи расписания для сайта rasp.pskgu.ru (базируется на парсинге сайта)
- Host: GitHub
- URL: https://github.com/mrgick/pskgu_api
- Owner: mrgick
- Created: 2022-01-29T16:19:14.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-20T13:49:38.000Z (almost 2 years ago)
- Last Synced: 2025-01-22T19:25:22.348Z (over 1 year ago)
- Topics: api, fastapi, mongodb, pskgu
- Language: Python
- Homepage: https://pskgu-api.onrender.com/docs
- Size: 23.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Апи расписания для сайта rasp.pskgu.ru
Базируется на MongoDB, которая используется в проекте ["Бот ПсковГУ"](https://github.com/mrgick/pskgu_api).
Основная цель – использование апи для [альтернативного сайта расписания](https://github.com/mrgick/rasp_pskgu)
# Запуск
>Запуск вручную
```bash
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
uvicorn src.main:app
```
> Через докер
```bash
export MONGO_URL="mongodb://localhost:27017" && docker compose up
```
## Настройки
в файле config.py прописаны настройки проекта.
Для запуска нужно создать переменные среды:
```bash
export MONGO_URL="mongodb://localhost:27017"
export URL_PING="http://127.0.0.1:8000/ping"
```
# Особенности
- Используется MongoDB для хранения записей о расписании.
- Используется кеширование записей в базе данных.
- Используется FastApi с SlowApi для ограничения нагрузки (максимально - 5 запросов в секунду).
> p.s. для работы в heroku/render нужен cron - авто пинг сайта
# Полезные ссылки
- [группа вк](https://vk.com/pskgu_bot)
- ["Бот ПсковГУ"](https://github.com/mrgick/pskgu_api)
- [альтернативный сайт расписания](https://github.com/mrgick/rasp_pskgu)