Небольшой проект для конвертации изображений из одного формата в другой используя ImageMagick с реализованной регистрацией и аутентификацией пользователей.
- FastAPI
- SQLModel для работы с SQL базой данных (ORM на основе SQLAlchemy)
- Pydantic - для работы с JSON
- PostgreSQL - база данных
- Celery - очередь задач. Для масштабирования вширь
- Redis для ограничения количества запросов.
- Docker + Docker compose для сборки проекта
- Хэширование паролей с использованием passlib
- JWT для входа в аккаунт
- Healthckeck для API
- Docker compose watch для удобной разработки
- Telegram bot для работы с API
- Документация для API + Docstring
- Тесты с pytest
- JWT blacklist с использованием Redis
- Мониторинг с использованием Prometheus + Grafana
- CI/CD Pipeline
Для этого у вас должен быть Docker + Docker compose или Docker Desktop.
Загрузка проекта:
cd ~
git clone https://github.com/OkeyDev/imagebot
cd imagebot
Запуск:
cp .env.default .env
docker compose up -d
API будет доступен по ссылке http://localhost:8000 (если на этом порту не запущены другие приложения). Документация достуна по ссылке: http://localhost:8000/docs
- Зарегестрируйте пользователя вызвав /register. Валидации данных нет, так что можно оставить значения по умолчанию.
- Войдите в свой аккаунт использую кнопку Authorize вверху страницы слева. Введите логин и пароль, которые вы вводили в /register. Если вы ничего не меняли используйте логин string и пароль string.
- Отправьте запрос /string с необходимым форматом и изображением.