Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 09df294719c81659d808d16a0fd4f205
Leed Developer

APS (FMECA Library)

Добавлено 22 авг 2023 в 11:01
Корпоративная библиотека данных на производстве
Описание проекта: 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:

  • Gitlab CI/CD
  • AWS
QA:

  • Функциональное тестирование;
  • Тестирование API;
  • Регрессионное тестирование;
  • Black box тестирование;
  • Smoke тестирование;
  • Тестирование пользовательского интерфейса.
29f62d2a4e