Skip to content

Pragrammist/CoffeeAppDotnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Это проект для стажировки в ITP в г. Таганрог

Это проект апи для приложения на Angular.js

Для чего проект

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

Как запустить

из Host.csproj ввести dotnet run. Или в IDE выбрать Host.csproj

Что используется:

Asp.net Core + EfCore + PosgresSql. Также для DTO используется Mapster

Авторизация/Аутентификация

Так как это апи, то используется протокол OAuth 2.0 на jwt токене и refresh токене

Проект состоит из нескольких частей

  • Domain
  • EfCore
  • Services
  • Host

Domain

Это НЕ Domain из DDD. Здесь хранятся:

  • общие константы: разделить для хранения фотографий
  • enums: тип комментария, роль пользователя
  • исключения
  • методы расширения: методы для хеширования паролей
  • options для конфигурации: путь хранения изображений и конфигурация для jwt токена

EfCore

Содержит в себе собственную реализацию репозитория, DbContex, модели для Ef Core, конифугурация относящуюся к определенным моделям Ef Core, а также query хелперы

Services

Здесь хранятся сервисы и бизнес логика. В Common находится абстрактный класс который содержит в себе базовые CRUD методы для работы с БД. От меня потребовал тимлид так сделать, а так я бы не усложнял данный проект ненужным абстрактным классом, он никакую проблему не решает. Contracts содержит в себе интерфейсы для сервисов. Dtos содержит в себе разлиные DTO. Папка имеет субкаталоги относящиеся к сервисам, например Auth, Comment и т.д. MappingConfig содержит в себе конфигурация автомапера для Dto. Реализация сервисов лежит вне папок.

Host

Здесь хранятся контроллеры, константы для конфигурации аутентификации/авторизации, хелперы для валидации, входящие модели в контроллеры, конфигурация маппинга между моделями контроллеров и Dto, options для cors и bearer токена, сервис для работы с текущем пользователем, кастомные аттрибуты валидации, мидлвееры, и Program.cs для запуска проекта

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages