Это серверная часть проекта MovieCon - игры, которая проверяет ваши знания о кино. Сервер обрабатывает запросы от клиентской части, управляет пользователями, предоставляет данные для викторин и обеспечивает безопасность.
MovieCon - это сайт-игра по кино, где пользователи могут угадывать актеров по фильмам, фильмы по актерам, и т.д. Серверная часть отвечает за:
- Аутентификацию и авторизацию пользователей.
- Обработку запросов от клиента.
- Валидацию данных.
- Управление базой данных MongoDB.
- Логирование и мониторинг.
Проект построен на следующих технологиях:
- Node.js: серверное окружение для выполнения JavaScript-кода.
- Express: минималистичный веб-фреймворк для Node.js.
- MongoDB: NoSQL база данных для хранения информации о пользователях и викторинах.
- TypeScript: строгая типизация для повышения надежности кода.
- JSON Web Token (JWT): для управления аутентификацией.
- Mongoose: ORM для взаимодействия с MongoDB.
- bcryptjs: для хэширования паролей.
- Helmet: для повышения безопасности приложения.
- Winston: для логирования событий и ошибок.
git clone https://github.com/your-username/moviecon-server.git
cd moviecon-servernpm installСоздайте файл .env в корне проекта и добавьте туда необходимые переменные окружения:
PORT=3000
MONGO_URI=mongodb://localhost:27017/moviecon
JWT_SECRET=your_jwt_secretДля запуска сервера в режиме разработки используйте команду:
npm run devДля сборки TypeScript-кода выполните команду:
npm run buildДля запуска сервера в production-режиме используйте команду:
npm startЕсли необходимо запустить сервер с профилированием памяти, используйте:
npm run start:memoryДля проверки кода на соответствие стандартам выполните:
npm run lint