Вот пример документации для Git:
Для запуска приложения на локальной машине, выполните следующие шаги:
-
Перейдите в папку с проектом:
cd application -
Запустите контейнеры с помощью
docker-compose:docker compose up --build
-
После этого сервисы будут подняты и доступны для использования.
Это приложение включает два микросервиса: сервис авторизации и сервис отслеживания трат и поступлений денег. Оно использует стек технологий, включающий как Python, так и Go.
- FastAPI — высокопроизводительный веб-фреймворк для создания REST API на Python.
- Gin Framework — фреймворк для создания высокоскоростных API на Go.
- JWT — JSON Web Tokens, используемые для аутентификации и авторизации пользователей.
- PostgreSQL — реляционная база данных для хранения данных пользователей и транзакций.
- SQLite — используется для хранения локальных данных.
- RabbitMQ — брокер сообщений для обмена данными между микросервисами.
- Redis — система хранения данных в памяти, используется для кэширования и временных данных.
-
Сервис авторизации:
- Реализует регистрацию пользователей с проверкой email и пароля.
- Использует JWT для аутентификации и авторизации.
- Обеспечивает безопасность, управляя сессиями и токенами.
-
Сервис отслеживания трат:
- Хранит информацию о финансовых операциях пользователей.
- Позволяет отслеживать поступления и расходы на основе транзакций.
- Подключен к RabbitMQ для асинхронной обработки событий.
-
Backend:
- Python (FastAPI): используется для микросервиса, который отслеживает финансовые операции.
- Go (Gin Framework): основной язык разработки для сервиса авторизации.
-
Базы данных:
- PostgreSQL: основная база данных для хранения пользователей и их транзакций.
- SQLite: используется для хранения локальных данных в некоторых компонентах приложения.
-
Кэширование и обработка сообщений:
- Redis: используется для кэширования данных и обработки сессий.
- RabbitMQ: брокер сообщений для асинхронной передачи данных между микросервисами.
-
Аутентификация и авторизация:
- JWT: используется для токенов доступа и обновления, обеспечивая безопасный доступ к API.
- Для сборки и запуска контейнеров потребуется Docker и docker-compose.
- Все зависимости указаны в файле
docker-compose.ymlиrequirements.txt.