Mesto Backend - это серверная часть приложения Mesto, предоставляющая API для работы с пользователями и карточками. Реализованная на Node.js и MongoDB, она обеспечивает взаимодействие с базой данных и обработку запросов клиентской части приложения Mesto.
- Mesto (версия Java Script)
- Mesto (версия React)
- Mesto (версия для сервера) - этот репозиторий
- Mesto (версия с фронтендом и бэкендом)
- Реализовал на Node.js и Express.js, сервер обрабатывает запросы, взаимодействует с базой данных MongoDB и обрабатывает ошибки.
-
Реализованы роуты и контроллеры для работы с пользователями (регистрация, авторизация, получение информации о текущем пользователе, обновление данных пользователя).
-
Реализована аутентификация с использованием JWT (JSON Web Token) для безопасной передачи информации между клиентом и сервером.
-
Реализованы роуты и контроллеры для работы с карточками (создание, получение, обновление, удаление карточек).
-
Реализованы мидлвары для обработки запросов, аутентификации и обработки ошибок.
-
Взаимодействие с базой данных MongoDB для сохранения пользовательских данных и карточек.
- Node.js: Платформа для выполнения JavaScript кода на сервере.
- Express.js: Фреймворк для создания веб-приложений на Node.js.
- MongoDB: Документоориентированная NoSQL база данных.
- JWT (JSON Web Token): Механизм аутентификации для безопасной передачи информации между клиентом и сервером.
- dotenv: Модуль для загрузки переменных среды из файла .env.
- mongoose: ODM (Object Data Modeling) для работы с MongoDB через Node.js.
- cookie-parser: Middleware для работы с куки в Express приложениях.
- celebrate и Joi: Библиотеки для валидации данных и обработки ошибок в Express.js приложениях.
- errors из celebrate: Middleware для обработки ошибок валидации данных.
- logger middleware: Middleware для логирования запросов и ошибок.
-
Клонируйте репозиторий:
git clone git@github.com:Dmitry145528/express-mesto-gha.git git clone https://github.com/Dmitry145528/express-mesto-gha.git
-
Перейдите в директорию проекта, выполнив команду:
cd express-mesto-gha
-
Установите все необходимые зависимости проекта, выполнив команду:
npm install
-
Создайте файл .env в корневой директории проекта и добавьте следующие переменные среды:
PORT=3000
MONGO_URL=mongodb://127.0.0.1:27017/mestodb
-
Вы можете запустить сервер:
npm run start
-
Вы можете запустить сервер с hot-reload:
npm run dev
Перед началом убедитесь, что у вас установлены:
✅ Завершено
Дальнейшая разработка ведётся в репозитории Mesto (версия с фронтендом и бэкендом)