Если не вдаваться в подробности логики самого приложения, то данное приложение можно описать как интерфейс для работы с таблицами, с возможностью просмотра записей таблиц, а также их добавления, удаления и изменения. В приложении также реализована фильтрация данных таблиц, изменение порядка отображения данных в таблицах, а также в рамках задания реализована оптимизация: методом динамического программирования подбирается оптимальное оборудования для заданных параметров.
Само приложения представляет собой клиент-серверное веб приложение. Для фронта был выбран Angular + Typescript, для бека - C#, ASP .NET Core, база данных - PostgreSQL
На скрине можно увидеть, как выглядит приложение:
Страницы макетов можно увидеть здесь: https://www.figma.com/design/VVqIfYaNGbZiPIyxmEjrmy/Untitled?node-id=0-1&t=ppNOQyYuIxYEpp1p-1
Муд-борд:
Приложение состоит из нескольких страниц с возможностью редактирования в них соответствующих таблиц. Сама страница разделена на 3 сегмента:
- часть навигации между страницами (таблицами)
- рабочая часть (непосредственное взаимодействие с записями в таблице)
- часть фильтров (для нахождения нужных записей)
Есть также настройка с выбором темного фона. Помимо этого есть отдельная страница для демонстрации алгоритма оптимизации, реализуемого в рамках данного проекта.
Чтобы локально развернуть приложение нужно поднять как часть фронта, так и бек. Вначале развернем первый.
В папке с исходным кодом нужно перейти в папке /frontend и выполнить коману:
npm install
для загрузки node modules (ВАЖНО, чтобы на ПК был установлен NodeJS)/
После установки node modules, запускаем сервер командой
ng serve
И ждем открытие приложения в браузере: http://localhost:4200
В качестве базы данных в проекте была выбрана PostgreSQL. Поэтому при необходимости нужно ее установить: https://www.postgresql.org/download
После установки, или если установка не требовалась, убедитесь, что прослушивается порт 5432, а пароль - postgres. Если ваши параметры другие, то в соответствии с ними поменяйте config-файл appsettings.Development.json в папке backend.
После установки PostgreSQL и прослушивания порта 5432 можно запускать ASP .NET Core Web Application. Для этого необходимо открыть проект optimization.sln в любой удобной IDE (сам проект разрабатывался в IDE JetBrains Rider) и запустить приложение (подразумевается что на ПК уже установлены средства компиляции приложений C#). Будут созданы все необходимые схемы базы данных, запросы к которым будут поступать от пользователя через паттерн "Репозитоий".
После этого можно обновлять страницу на фронте и пользоваться клиент-серверным приложением.