Skip to content

semmaxim/TestTaskCurrencyApiMicroservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание

Необходимо реализовать сервис CO со следующим функционалом на языке C#, используя .NET 8.

Требования к базе данных (PostgreSQL):

  1. Таблица currency

    • id: первичный ключ
    • name: название валюты
    • rate: курс валюты к рублю
  2. Таблица user

    • id: первичный ключ
    • name: имя пользователя
    • password: пароль пользователя

Пользователь заинтересован только в определенном наборе валют (favorites).

Задачи:

  1. Архитектура: Использование подхода Clean Architecture. Возможность использования или отсутствия DDD (Domain Driven Design) — непринципиально.
  2. Микросервис миграции базы данных: Реализовать механизм миграции для структурирования и изменения схемы базы данных.
  3. Фоновый сервис: Создать фоновый сервис, обращающийся по адресу http://www.cbr.ru/scripts/XML_daily.asp и наполняющий таблицу currency актуальными данными о курсах валют.
  4. Микросервис пользователей: Реализовать регистрацию, вход и выход пользователей.
  5. Микросервис финансов: Предоставление актуальной информации о курсах валют для каждого пользователя, основываясь на списке выбранных валют (favorites).
  6. Авторизация: Реализовать систему аутентификации и авторизации на основе токенов JWT.
  7. API Gateway: Разработать шлюз API для интеграции всех микросервисов.
  8. Модуль тестирования: Провести модульное тестирование компонентов сервиса для пользователя и финансового модуля. Фоновый сервис тестировать необязательно.
  9. Дополнительно (бонус): Продемонстрировать владение технологией gRPC, возможно в сочетании с JWT.

Требования к предоставленным решениям:

  1. Готовые задания предоставляются либо в виде zipped архива, либо репозитория на GitHub.
  2. Код должен успешно компилироваться с помощью среды разработки Microsoft Visual Studio 2022.
  3. Файлы проекта должны содержать только необходимые ресурсы и компоненты, никаких временных или избыточных файлов.

About

Тестовое задание

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages