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