Дипломная работа по курсу "Backend-разработчик на Node.JS" на основе Nest.js, MongoDB, и Socket.io.
Разработка серверной части приложения для бронирования гостиниц.
- Разработка публичного API.
- Разработка API пользователя.
- Разработка API администратора.
- Разработка чата консультанта.
В процессе выполенния работы было разработано полноценное серверное приложение, реализованное на платформе Nodejs с помощью фреймворка nestjs и связанных технологий. В приложении реализовано:
- Публичный API.
- Защищенный API для авторизованных пользователей с учетом их ролей.
- Загрузка файлов с помощью multer
- Cookie-based аутентификация/авторизация пользователей с использованием Passport.js.
- Чат техподдерхки,в том числе с использованием технологии Websocket
- Сериализация mongodb документов в DTO-классы с помощью библиотек class-transformer/class-validator.
- Контейнеризация приложения с помощью Docker-контейнера и запуск приложения с помощью docker-compose с подключенной MongoDB базой.
- Настройка окружения через переменные окружения и библиотеку dotenv и модуль конфигурации (
ConfigModule
).
Для запуска приложения локально, вы можете использовать следующие команды:
npm run start:dev
- запускает приложение в режиме разработки с возможностью отслеживания изменений в коде.npm run build
- генерирует production сборку приложения.npm run dev:prod
- запускает production сборку приложения.
Приложение можно также запустить в контейнере Docker. Для этого выполните следующие шаги:
-
Сначала соберите контейнер:
docker-compose --env-file ./env/.development.env build
-
Затем запустите контейеры:
docker-compose --env-file ./env/.development.env up
Предоставленный docker-compose.yml файл предполагает, что у вас есть .development.env файл в директории ./env/, который содержит необходимые переменные окружения для вашего приложения. Убедитесь, что ваши переменные окружения настроены правильно перед запуском контейнера.