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