Code Monkey home page Code Monkey logo

testtaskautoservice's Introduction

TestTaskAutoService

Тестовое задание «Автосервис»

Реализуйте описанный функционал с помощью REST-API сервера, который принимает HTTP запросы, хранит данные в БД (СУБД - PostgreSQL) и обрабатывает их. Опишите RESTful-API с помощью Swagger.

Сущности:

Мастер: • ФИО • Выполненные заказы

Машина: • Марка • Модель • Год выпуска • Номер • Владелец

Владелец Машины: • Машины • Заказы

Заказ: • Машина • Описание проблемы с которой обратились • Дата принятия • Услуги включенные в заказ • Товары включенные в заказ • Статус (принято, в процессе, успешно завершено, не успешно завершено, оплачено) • Итоговая стоимость для клиента • Дата завершения

Услуга: • Заказ • Мастер • Стоимость • Статус (Выплачено, не выплачено (мастеру))

Товар: • Название • Стоимость

Запросы:

• POST - Создание сущности «Мастер» • PUT - Редактирование данных сущности • GET - Получение заказов мастера • GET - Расчёт и выдача заработной платы мастеру

• POST - Создание сущности «Машина» • PUT - Редактирование данных сущности

• POST - Создание сущности «Владелец Машины» • PUT - Редактирование данных сущности • GET - Получение заказов этого клиента

• POST - Создание сущности «Заказ» • POST - Добавление «Товара» к сущности «Заказ» • PUT - Редактирование данных сущности • PUT - Редактирование статуса «Заказа» • GET - Расчёт стоимости «Заказа»

• POST - Создание сущности «Услуга» • PUT - Редактирование данных сущности • PUT - Редактирование статуса «Услуга»

• POST - Создание сущности «Товар» • PUT - Редактирование данных сущности

Примечания: • Скидка человека на товары = кол-во его заказов * 1% • Скидка человека на услуги = кол-во его заказов * 2% • Зарплата мастер = 40% от стоимости услуги, которой он занимался. • При расчёте и выдаче зарплаты мастеру, статус услуги меняется на «выплачено» • При изменении статуса заказа на «успешно завершено» или «не успешно завершено», дата завершения приравнивается к текущей дате • Диагностика - это услуга. В случае согласия на ремонт эта услуга проводится бесплатно, в случае отказа человека от ремонта эта услуга стоит 500 грн

История:

  1. У Сергея есть машина Toyota Camry 2016 года. В один прекрасный день у машины появился стук в коробке передач. Сергей обратился в наш сервис.
  2. Сергею оформили заказ на диагностику.
  3. Диагностику ему проводил мастер Алексей. Мастер выяснил, что нужно заменить масло в коробке передач и что пора менять ремень ГРМ.
  4. Сергей согласился и предоставил свою карту клиента, где у него на счету уже было 2 заказа.
  5. Администратор добавил товары и услуги к заказу. Новое масло (1000 грн), новый ремень ГРМ (2500), замена масла (900), замена ГРМ (1300).
  6. Администратор посчитал стоимость всех услуг с учётом скидки. Сказали, что всё будет готово через 2 дня.
  7. Заменой масла занялся мастер Алексей, а заменой ремня ГРМ занялся мастер Александр.
  8. Сергей пришёл через 2 дня оплатил счёт со скидкой, и забрал свою машину.
  9. Мастерам посчитали и выдали их зарплаты.

Cрок выполнения тестового задания 2-3 дня Выполненное тестовое выложить на GitHub

testtaskautoservice's People

Contributors

pashaterletskyi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.