Skip to content

Проект, выполненный в рамках курса "Основы backend-разработки" на 2 курсе НОЦ "Высшая IT-школа"

Notifications You must be signed in to change notification settings

shumlesha/Delivery-Backend-App

Repository files navigation

Delivery-Backend-App

Проект, выполненный в рамках курса "Основы backend-разработки" на 2 курсе НОЦ "Высшая IT-школа"

Технологии

  • ASP.NET Core
  • Entity Framework
  • PostgreSQL

Концепция

Целью проекта являлось создание надежной и эффективной системы заказа и доставки еды, которая позволяет пользователям легко и быстро выбирать блюда, добавлять их в корзину и оформлять заказ.

Особенности проекта

  • Категории блюд: Пользователи могут просматривать блюда по категориям (например, пицца, супы, десерты).
  • Оценка и отзывы: После получения заказа пользователь может оценить блюдо и оставить свой отзыв.
  • Учетные записи пользователей: Регистрация, авторизация и управление профилем для сохранения личной информации и истории заказов.
  • Система адресов: Для удобства доставки используется сложная система адресов с возможностью выбора конкретного дома и квартиры.

Функциональность

В рамках данного проекта были реализованы следующие функциональные требования:

  • Управление пользователями

    • Регистрация: Возможность создания аккаунта.
    • Аутентификация: Безопасный вход в системe с использованием email и пароля, а также возможность выйти из профиля
    • Профили: Возможность просмотра (получения) и редактирования личной информации
  • Управление заказами

    • Создание заказа: Возможность выбрать блюда из меню, указать адрес доставки и добавить блюда из корзины в заказ.
    • Отслеживание заказа: Предоставление актуальной информации о статусе заказа.
    • История заказов: Возможность просмотра предыдущих пользовательских заказов с деталями.
  • Управление меню

    • Добавление блюд: Возможность добавления новых блюд, описания, цены и фотографий и тд.
    • Редактирование блюд: Изменение существующей информации о блюде.
    • Оценивание блюд: Возможность со стороны пользователя оценить блюдо.
  • Работа с адресами

    • Добавление адреса доставки: Возможность указать полный адрес доставки для пользователя (получение цепочки адресов, использовался справочник ГАР)

API

Доступны следующие эндпоинты:

  • Address Endpoints:
  • [GET] /api/address/search - получить List, состоящий из адресных объектов
  • [GET] /api/address/getaddress/chain - получить полную цепочку адресов для данного id
  • Basket Endpoints:
  • [GET] /api/basket - получить пользовательскую корзину
  • [POST] /api/basket/dish/{dishId} - добавить блюдо в корзину
  • [DELETE] /api/basket/dish/{dishId} - уменьшить число блюд в корзине
  • Dish Endpoints:
  • [GET] /api/dish - получить меню (список блюд) по заданным критериям отбора/сортировки
  • [GET] /api/dish/{id} - получить информацию об определенном блюде (по id)
  • [GET] /api/dish/{id}/rating/check - проверить возможность пользователя выставлять рейтинг на данное блюдо
  • [POST] /api/dish/{id}/rating - выставить рейтинг на блюдо
  • Order Endpoints:
  • [GET] /api/order/{id} - получить информацию о конкретном заказе (по id)
  • [GET] /api/order - получить список заказов пользователя
  • [POST] /api/order - добавить блюда из коризны в новый заказ
  • [POST] /api/order/{id}/status - подтвердить доставку заказа
  • User (UserAccount) Endpoints:
  • [POST] /api/account/register - зарегестрироваться (с получением токена)
  • [POST] /api/account/login - авторизоваться (с получением токена)
  • [POST] /api/account/logout - выйти из системы
  • [GET] /api/account/profile - получить информацию о пользовательском профиле
  • [PUT] /api/account/profile - изменить параметры пользователя

About

Проект, выполненный в рамках курса "Основы backend-разработки" на 2 курсе НОЦ "Высшая IT-школа"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages