https://github.com/antonovigor/lecture-intro-nest
Демонстрационный пример для лекции «Введение в Nest» (ИТМО, 2024)
https://github.com/antonovigor/lecture-intro-nest
express interceptors nest pipes typescript
Last synced: 6 months ago
JSON representation
Демонстрационный пример для лекции «Введение в Nest» (ИТМО, 2024)
- Host: GitHub
- URL: https://github.com/antonovigor/lecture-intro-nest
- Owner: AntonovIgor
- License: mit
- Created: 2024-12-15T15:06:14.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-12-19T19:25:55.000Z (10 months ago)
- Last Synced: 2025-03-24T11:38:20.546Z (6 months ago)
- Topics: express, interceptors, nest, pipes, typescript
- Language: TypeScript
- Homepage: https://t.me/antonovjs
- Size: 58 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ИТМО. Введение в Nest
## Материалы к лекции
Привет! 👋 Меня зовут Игорь Антонов, а это репозиторий с исходным кодом примера, который я демонстрировал в рамках лекции в университете ИТМО.
В рамках лекции рассказал про фреймворк Nest и запрограммировал простой REST API сервис. В примере демонстрируется применение: CLI, Guards, Pipe, Interceptors, Exception Filters, Passport и других абстракций фреймворка.
## Что внутри
### src
Исходники примера.
## presentation
Презентация к лекции в формате PDF.
## Стэк
* Node.js 22 (LTS)
* TypeScript 5.1.3
* Nest 10## Структура проекта
* `auth` — модуль для аутентификации/авторизации;
* `cats` — модуль с логикой регистрации котиков. Для модуля подготовлены основные тесты.
* `exceptions` — пользовательские ошибки;
* `business-exceptions.filter.ts` — пользовательский фильтр исключений. Ловит пользовательские ошибки (пример в exceptions).
* `filters` — фильтры исключений;
* `interceptors` — интерсепторы;
* `logging.interceptor.ts` — логирование времени выполнения запроса.
* `pipes` — пайпы
* `remove-undefined.pipe.ts` — пользовательский пайп для удаления undefined свойств;## Контакты
Возник вопрос или предложение по докладу? Буду рад пообщаться в Telegram: https://t.me/antonov_i. Мой блог в YouTube — https://www.youtube.com/@antonov_i.
~~~Happy Coding 👨💻~~~