Необходимо разработать модуль по аренде авто для существующей системы Электронного таксопарка. High – load сервис.
Требуется реализовать логику бэка и фронта с использованием следующего стека технологий:
- Backend: Nest.js
- Frontend: Vue.js
- Брокер сообщений: RabbitMQ
- База данных: PostgreSQL
Условия работы:
- Тестовая среда готова, в которой смело можно работать.
- Поддержка IT-отдела компании через общую Telegram-группу и видеозвонки.
- Имеется подробное ТЗ на бэкэнд, начать его разработку уже можно сейчас, по фронту макеты и ТЗ почти готово.
- Верстать ничего не нужно, весь фронт на имеющихся компонентах в verdaccio.
Что требуется от Вас для начала работы:
- Опыт разработки микросервисов с правильной архитектурой, от 5-ти лет.
- Отправить примеры выполненных проектов на данном стеке с результатами работ, с указанием сроков и затрат, чтобы мы могли оценить скорость и стоимость Вашей работы.
- В первую очередь рассматриваем исполнителей из Екатеринбурга, для редких встреч в нашем офисе.
- Умение документировать API и работать с другими API компании по документации.
При взаимном желании готовы к долгосрочному сотрудничеству. Задача:
- Разработка микросервиса управления пользователями:
- Регистрация, авторизация, аутентификация пользователей.
- Управление статусами и правами доступа (администратор, партнер).
- Логика блокировки и разблокировки пользователей.
- Взаимодействие с Redis для хранения токенов.
- Микросервис для управления партнерами:
- CRUD операции для данных о партнерах (название, адрес, реквизиты).
- Управление проектами и их статусами.
- ТЗ содержит 24 метода, включая:
- Аутентификация пользователей.
- Получение, обновление и удаление данных пользователей и партнеров.
- Дополнительно:
- 3 задачи по cron-логике для синхронизации данных.
- Интеграция с внешним API по документации.
- Фронтенд-реализация личного кабинета пользователей и админ панели.
Краткое содержание ТЗ:
Основные методы:
- Управление реквизитами компании (добавление, получение, изменение).
- Регистрация и изменение данных автомобилей партнера.
- Управление условиями работы партнера.
- Работа с водителями и их данными.
- Управление финансовыми операциями (создание, изменение).
Методы для пользователей и прав доступа:
- Добавление пользователя.
- Блокировка/разблокировка пользователя.
- Получение пользователей.
- Авторизация.
- Аутентификация.
- Выход со всех устройств.
- Изменение данных пользователя или прав доступа.
Методы для партнеров:
- Добавление партнера.
- Получение данных партнера.
- Изменение данных партнера.
Методы для проектов партнеров:
- Добавление проекта.
- Получение проектов.
- Изменение данных проекта.