Миграция с AdminJS на Minimal Dashboard

60 000 руб. за проект
24 ноября 2023, 17:13 • 5 откликов • 66 просмотров
Мы ищем опытного разработчика для перехода с нашего текущего административного интерфейса, построенного на AdminJS, на новый шаблон Minimal Dashboard: https://minimals.cc/.

Проект использует:

Reverse Proxy: nginx.
Database: PostgreSQL version 13.3.
Application Server (API): Node.js version 18.
Platform: Node.js version 18.
Framework: NestJS version 9.
Package Manager: yarn.
ORM: TypeORM.
Mail and Marketing: Brevo/SendInBlue.
Logging and Alerts: Sentry.
Authentication: Passport.js with JWT.
Payments: Stripe.
Administrative Panel: AdminJs.
Maps: Google Maps/API.
Object Storage: AWS S3.

Мы уже приобрели версию Minimals Dashboard.

Основные задачи:

Анализ текущей системы: Оценка существующего интерфейса AdminJS (https://adminjs.co/) для понимания всех функций и возможностей, которые мы используем.
Перенос функций: Трансфер всех функциональностей с AdminJS на Minimal Dashboard. Важно учитывать, что AdminJS — это фреймворк, требующий разработки по его внутренним правилам. При переносе на Minimal Dashboard может потребоваться дополнительная разработка для поддержки существующих функций бэкенда.

Функции, которые сейчас используются:

-Buyer (Покупатель):
Описание: Покупатель или клиент в системе.
Действия: Создание, редактирование и удаление записей покупателя.
Ограничения по ролям: Доступно только для ролей Administrator, Sales Coordinator.

-Card (Платёжная карта):
Описание: Сущность, представляющая платежную карту клиента.
Действия: Создание, редактирование и удаление карт.
Ограничения по ролям: Доступно только для роли Administrator.

-CourierHub:
Описание: Связь между курьером и хабом (центром).
Действия: Создание, редактирование и удаление связей.
Ограничения по ролям: Доступно только для ролей Administrator, Sales Coordinator

-Hub (Хаб):
Описание: Хаб или логистический центр, где хранятся товары.
Действия: Создание, редактирование и удаление хабов.
Ограничения по ролям: Создание и удаление доступны только для ADMIN. Редактирование доступно для Ограничения по ролям: Доступно только для ролей Administrator, Sales Coordinator, Hub-Operator

-Item (Товар):
Описание: Товар или предмет в системе.
Действия: Создание, редактирование и удаление товаров.
Свойства: Включает параметры, такие как размеры, стоимость, аналитика и идентификатор категории.
Ограничения по ролям: Доступно только для ролей Administrator, Sales Coordinator, Hub-Operator, Micro-tasker

-Shipment (Отгрузка):
Описание: Отправка или перевозка товаров.
Действия: Создание, редактирование и удаление отправок.
Ограничения по ролям: Доступно только для ролей Administrator, Sales Coordinator, Hub-Operator, Micro-tasker

-User (Пользователь):
Описание: Основной пользователь системы. В зависимости от присвоенных ролей может иметь различные уровни доступа.
Действия: Создание, редактирование и удаление пользователей.
Ограничения по ролям: Доступно только для ролей Administrator, Sales Coordinator, Hub-Operator, Micro-tasker

-PromoCode:
Описание: Управление промокодами.
Свойства: Сумма, Код (например, GEGENSTAND), Идентификатор пользователя, Активно до, Срок действия в часах.
Действия: Создание, редактирование и удаление промокодов.
Ограничения по ролям: Доступно для ролей Администратора, Координатора по продажам, Микро-задачника.

Для обеспечения удобства использования новой административной панели, необходимо реализовать следующие изменения:

-Пользователи (Users):
Основываясь на дизайне Minimals Dashboard (https://minimals.cc/dashboard/user/list), создать два вида пользователей с соответствующими сортировками:
Customer / Kunden: Разделен на подкатегории Seller / Verkäufer (продавцы, предоставляющие товары для продажи через нашу платформу) и Buyer / Käufer (покупатели, приобретающие товары, размещенные нами от имени продавцов на различных платформах).

-Employees / Mitarbeiter: Сортировка сотрудников по ролям, включая Администратор / Administrator, Hub-Operator, Курьер / Kurier, Sales Coordinator / Verkaufskoordinator, Categories Expert / Kategorien-Experte, Micro-tasker / Kleinaufgaben-Mitarbeiter. Важно реализовать систему настройки прав доступа для контроля видимости информации в административной панели. Также планируется интеграция рабочего календаря сотрудника с использованием функционала Minimal UI Kit (https://minimals.cc/dashboard/calendar) для лучшей организации рабочего процесса.

Объединение сущностей на базе заказа пользователя:
-Три сущности: Shipment Item (Lieferartikel), Shipment (Übergabe), и Card объединить в одну вкладку Order в Minimals UI (https://minimals.cc/dashboard/order и https://minimals.cc/dashboard/order/e99f09a7-dd88-49d5-b1c8-1daf80c2d7b2), что соответствует нашим требованиям. Необходимо добавить функционал для создания нового item, при этом после нажатия на соответствующую иконку будет автоматически создаваться минимальный Item в разделе https://minimals.cc/dashboard/product. Этот Item затем можно будет дополнительно заполнить вручную и загрузить изображения. Необходимо настроить уведомления о получении Order сейчас используется для уведомлений Brevo/SendInBlue.

Изменение системы идентификации:
-Текущая система использует UUID, которые слишком большие для удобного отображения и работы (https://drive.google.com/open?id=1-c8iiavIk3yYtCld4RmkxJ3qkLWGf10o). Необходимо перейти к использованию числовых автоинкрементных идентификационных номеров для упрощения системы.

Тестирование: Проведение тщательного тестирования нового интерфейса для обеспечения корректной и стабильной работы всех функций. Проверить, чтобы приходили все уведомления клиенту из новой админки, которые сейчас настроены через сервис Brevo/SendInBlue.
Файлы