Skip to content

AlexMalevinsky13/test-task

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terminal Dictionary Import Service

Проект реализует фоновую службу для загрузки справочника терминалов из JSON файла и сохранения данных в PostgreSQL.

Решение было выполнено в рамках тестового задания для компании ООО «Страна Карт».

Вакансия:
https://hh.ru/vacancy/130964714


Описание задачи

Необходимо реализовать фоновый сервис, который:

  • периодически загружает справочник терминалов из JSON файла
  • очищает существующие записи в базе данных
  • выполняет импорт новых данных
  • ведёт структурированное логирование всех операций

Импорт должен выполняться ежедневно в 02:00 по московскому времени.

Источник данных — JSON файл, расположенный в каталоге: /files/terminals.json

Файл содержит массив объектов терминалов.


Технологический стек

  • C# 13
  • .NET 9
  • ASP.NET Core Hosted Service
  • Entity Framework Core 9
  • PostgreSQL
  • Microsoft.Extensions.DependencyInjection
  • ILogger (структурированные логи)

Архитектура решения

Проект построен как ASP.NET Core Hosted Service, без Web API.

Основные компоненты:

BackgroundService

Фоновая служба выполняет:

  • планирование запуска импорта
  • чтение JSON файла
  • десериализацию данных
  • импорт данных в БД
  • логирование операций
  • обработку ошибок

Результат работы

После выполнения импорта таблица offices содержит актуальный справочник терминалов, загруженный из JSON файла.

Сервис работает как автономная фоновая служба и выполняет импорт по расписанию.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 100.0%