Skip to content

MineShadow7/Server_YouPhoto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Репозиторий сервера проекта PhB

Про проект

На рынок выходит новый фотосалон «YouPhoto». Салон занимается печатью фотографий разного формата и дополнительными услугами, например, оформление картин (накатка картин на пенакартон, оформление рамками и т.д.). У фирмы есть ряд салонов. Некоторое оборудование дорогостоящее и имеется не во всех филиалах. Салону нужна система заказа товаров. Система состоит из двух частей. Первая часть предназначена для клиентов. Клиент может в систему загрузить фотографии, заказать часть из них на печать и выбрать опции, связанные с оформлением. При необходимости выбрать способ получения фотографий (само-вывоз, получение в салоне и т.д.) Вторая часть предназначена для менеджеров. Менеджер должен уметь собрать заказы распределить их по салонам для минимизации расходов по доставке и др. Менеджер и клиенты должны иметь возможность отслеживать статус заказа.

Основной инструментарий:

Язык - C#

Фреймворк и утилиты - ASP.NET, CORS, SWAGGER(UI), .NET 8.0

Основная структура проекта:

Configurations

Содержит в себе основный конфигурации проекта - AppSettings.cs - Класс для работы с настройками приложения, такими как тип логирования и количество логирования.

Controllers

Классы обработки HTTP-запросов и возврат HTTP-ответов. Запросы КЛИЕНТСКОЙ части будут посылаться на "адрес сервера"/api/[controller] и уже оттуда будет воспроизводиться необходимый код СЕРВИСОВ.

Data

Классы для работы с базами данных. Непосредственное подключение к базе данных по адресу из appsettings.json ("DefaultDatabaseConnection") и выполнение SQL запросов от сервисов.

Helpers

Вспомогательные классы, предоставляющие общие функции. Прим: DatabaseHelper.cs: Вспомогательный класс для работы с базой данных. Позволяет выполнять "прямые" SQL. Иными словами - принимает строку SQL запроса и выполняет его для контекста БД.

Models

Представление сущностей для приложения. Здесь описываются основные классы с полями. Прим: User с полями UserID, Username, Role и т.д. Используется в качестве структур для запросов контроллеров (RegisterRequest, LoginRequest) и структур таблиц в Базах данных (User).

Services

Реализация основных функций бизнес логики сервера. Здесь описывается основная функциональность сервера, которая будет вызвана при запросах HTTP ИЗ контроллеров. Пример: на контроллер UserController поступает запрос api/register. Функция, отвечающая за этот запрос вызывает сервис _authenticationService.Register и передает параметры тела запроса. Затем обрабатывает нужные данные, работает с БД и в случае успеха генерирует JWT токен для сессии пользователя, отдает его в ответе Ok.

Разрабочтики сервера

Карагодин Андрей - @MineShadow7

Винокуров Иван - @LeakMachine

Дмитрий Неделин - @STELLSAN

About

Server side of project YouPhoto

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages