Корпоративная библиотека данных на производстве
Описание проекта: APS — cервис, который позволяет связывать некоторую деталь самолета и необходимое оборудование для ее ремонта с инструкцией к нему; формировать и выводить чек-лист для сотрудника, с помощью которого можно проводить техническое обслуживание указанной детали, а также связанных с ней деталей.
Задачи: Обслуживание самолетов — сложная и трудоемкая задача сама по себе, не говоря уже о ведении документации. Наш заказчик столкнулся с проблемой — сотрудники не успевали качественно и в срок заполнять необходимую информацию о состоянии рабочего объекта, за который они ответственны. В следствии чего увеличивалось время на решение поставленных задач, снижалась производительность и эффективность работников и как результат падала прибыль предприятия.
Мы предложили создать приложение, которое было бы способно систематизировать громоздкие авиационные документы: группировать информацию по ключевым словам, чтобы сократить время работников на поиск необходимой информации.
Процесс работы: Для начала, аналитику и дизайнеру предстояло создать понятный и удобный интерфейс. Для этого необходимо было разработать ТЗ по бизнес-логике проекта. Поэтому было достаточно большое количество созвонов и встреч с клиентом, чтобы согласовывать с ним каждый новый элемент или предложение от наших специалистов.
После того как было разработана большая часть экранов и аналитики,
front-end разработчик приступил к работе. Необходимо было решить проблему оптимизации работы с большим количеством данных в виде таблиц и древовидных структур. Для этого на всех основных компонентах было реализовано структурирование данных на сайте, путем разделения на отдельные страницы; фильтрация и поиск, что максимально сокращает количество запросов к серверу, а также количество хранимых на фронте данных. Для клиента было важно удобство при редактировании данных, для чего мы предоставили и реализовали различные варианты в разных случаях, такие как редактирование каждой отдельной ячейки, редактирование отдельных элементов в виде полноценных форм.
Фильтрация в древовидной структуре Сложно было придумать решение по поводу фильтрации в древовидной структуре. Заказчику было выдвинуто несколько решений, и в конце был выбран вариант подсвечивания необходимых элементов и пути к ним. С такой реализацией сохраняется идея и отображение данных в виде дерева, кроме того удобно смотреть предков отфильтрованного элемента.
Backend разработка Когда все ТЗ по бизнес логике были готовы и согласованы с клиентом, к процессу разработки присоединился
backend разработчик, перед которым лежали задачи:
- Создания иерархической древесной структуры
- Парсинг excel/csv файлов
- Генерация pdf отчетов
- Веб-сокеты для отображения процесса загрузки
- Стандартные CRUD для работы с базами данных и взаимодействия с сущностями
- Создание фоновой очереди задач для загрузки больших объемов данных
Тестирование Каждый новый элемент или функционал должен был пройти жесткую проверку нашего
тестировщика, который отвечал за качество и мониторинг сдаваемых работ.
Было проведено:
- Функциональное тестирование — тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям ;
- Тестирование API — анализ интерфейса прикладной программы (API), чтобы убедиться, что он соответствует ожидаемой функциональности, безопасности, производительности и надежности ;
- Регрессионное тестирование, позволяющее удостовериться, что внесенные изменения не повлекли за собой появления дефектов в той части программы, которая не менялась ;
- Black box тестирование;
- Smoke тестирование — проверка программного обеспечения на стабильность и наличие явных ошибок.;
- Тестирование пользовательского интерфейса.
Внедрение ролевой системы Помимо основного функционала, на проекте реализованы авторизация с использованием jwt-токенов, forgot-password функция, две роли пользователя — Администратор и Обычный пользователь. Разработан профиль пользователя с возможностью изменения данных о себе и загрузки аватара, также есть список пользователей, где Администратор может удалять и блокировать. Кроме того Администратор самостоятельно регистрирует новых пользователей с помощью простой формы с возможностью генерации пароля.
Результат Благодаря данному приложению деятельность работников и предприятия улучшилась за счет упрощения процессов работы. Систематизированная документация, сокращение времени на выполнение одной задачи, интуитивно понятный интерфейс и бесперебойно работающий сервис позволил клиенту увеличить эффективность работы сотрудников вдвое, а выручка предприятия возросла на 20%.
Стек: Frontend:- React.js
- AXIOS
- Redux-toolkit;
- Styled-components
- Final-form, Yup
- TypeScript.
- Html-pdf
- WebSockets (SignalR)
- Generate-password
Backend:- C# 10
- .NET 6
- Entity Framework
- PuppeterSharp
- Postgre SQL
- Hosted Services
- Web-sockets (SignalR)
DevOps:QA:- Функциональное тестирование;
- Тестирование API;
- Регрессионное тестирование;
- Black box тестирование;
- Smoke тестирование;
- Тестирование пользовательского интерфейса.