Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Вот пример документации для Git:


Документация по запуску проекта

Для запуска приложения на локальной машине, выполните следующие шаги:

  1. Перейдите в папку с проектом:

    cd application
  2. Запустите контейнеры с помощью docker-compose:

    docker compose up --build
  3. После этого сервисы будут подняты и доступны для использования.


О проекте

Это приложение включает два микросервиса: сервис авторизации и сервис отслеживания трат и поступлений денег. Оно использует стек технологий, включающий как 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.

About

Application writen on Go + Python.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages