Skip to content

Тестовое задание от компании Azoft

Notifications You must be signed in to change notification settings

ruvor/AzoftTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AzoftTest

Репозиторий содержит выполненное тестовое задание от компании Azoft. Собственно задание имеется в файле в этом репозитории.

Краткая информация о веб-приложении

Веб-приложение выполнено на фреймворке ASP.NET MVC. Основной интерфейс главной страницы обслуживается супергероическим MVW-фреймворком AngularJS. Элементы управления на странице увязаны с его помощью в систему с моделью данных. Информация для вывода на странице (и предложения при поиске валют, и закрепленные валюты пользователя, и курсы) запрашивается у сервера, который отдает ее при помощи "сестринского" фреймворка ASP.NET MVC — Web API. Контроллер этого API выдает информацию в формате JSON. Хранится информация в базе данных под управлением MS SQL Server. Для доступа к ней используется ORM производства Microsoft под названием Entity Framework.

Внешний вид страниц определется использованным CSS-фреймворком Bootstrap. Для разнообразия на сайте установлена темная тема Superhero.

Выбор интервала дат производится при помощи контрола Datepicker из комплекта UI Bootstrap. К сожалению, он не позволяет организовать выбор интервала в одном календарном гриде, поэтому применены два пикера.

График изменения курса рисуется библиотекой n3-line-chart, которая для своей работы требует также D3.js. n3-line-chart реализован в виде директивы для AngularJS, поэтому график "бесшовно" интегрировался в модель данных страницы.

База данных и код проекта были развернуты с применением облачной инфраструктуры Microsoft — Azure. БД размещена в облачном SQL Server, а код — в службе веб-приложений Azure.

Замечания по предварительной обработке

Оказалось, что коды валют, которые ЦБ предлагает использовать при запросах финансовой информации в своих веб-сервисах, не имеют ничего общего с мировым стандартом — ISO 4217. Одним из запросов, указанных на странице, был получен список кодов валют в формате XML. Также был скачан перечень кодов валют по стандарту ISO 4217 в формате CSV. При помощи временного серверного скрипта был сформирован CSV-файл, в который была сведена информация по валютам: код ЦБ, код ISO 4217, название на английском языке, название на русском языке. Затем данные из этого файла были импортированы в таблицу БД.

About

Тестовое задание от компании Azoft

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published