Skip to content

VladislavSerKir/kupipodariday-backend

Repository files navigation

Проект Яндекса: серверная часть сервиса КупиПодариДай


Сервис КупиПодариДай позволяет скидываться людям на подарки, создавать свои собственные идеи на подарки а так же создавать собственные списки из них.

Технологии в проекте

Для написания бэкенда сервиса использовался фреймворк Nest.js на основе Node.js. Он позволяет писать намного меньше кода по сравнению с последним, используя классы.

  • Благодаря встроенному компилятору TypeScript Nest.js позволяет типизировать все сущности в приложении, что позволяет на этапе компиляции обнаруживать ошибки.
  • Построение приложений на Nest.js базируется на паттерне Dependency Injection. Суть которого заключается в подключении небольших модулей (в качестве которых могут выступать группы роутов по одной тематике) в один корневой модуль. Каждый модуль состоит из контроллера, сервиса и репозитория. Благодаря Dependency Injection фреймворк позволяет независимо от модуля переиспользовать состовляющие других модулей т.е контроллеры, сервисы и репозитории, что сказывается на скорости работы приложения в лучшую сторону.
  • Для подключения к базе данных используется pipeline
  • В качестве базы данных использована Postgres. Для формирования запросов к базе данных используется встроенный в фреймворк querry parser TypeORM
  • В зависимости от режима работы приложения, созданы соответствующие файлы окружения env.
  • Для обширного логгирования ошибок серверного приложения использовался пакет winston.
  • Реализация входа по токену осуществлена через библиотеку passport-jwt.
  • Перед отправкой запроса и его обработкой осуществляется проверка содержимого запроса из тела через DTO. Так же описаны модели сущностей Entities для каждого модуля.
  • Сервис включает в себя 4 основных модуля offer, user, wish, wishlist и один вспомогательный auth.

Реализация

Для использования приложения необходима авторизация

2023-07-17_21-20-51


В личном кабинете пользователя доступно редактирование данных

2023-07-17_21-21-47


Ленты созданных подарков и коллекции доступны в соответствующих вкладках

2023-07-17_21-24-17

2023-07-17_21-26-25


Для добавления подарка используется соответствующая форма

2023-07-17_21-29-43


Основная информация о подарке и список скинувшихся

2023-07-17_21-30-59

Технологии


TypeScript  Nest  Postgres 

Установка, настройка

  • Установка зависимостей: npm install
  • Режим разработки: npm start:dev
  • Режим production: npm start:prod
  • Сформировать проект для последующего размещения на ресурсах: npm build

Написать мне

github telegram

About

Проект Яндекса: серверная часть сервиса КупиПодариДай: https://vladislav.nomoredomains.work/

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published