https://github.com/alterego10/js-junior-nodejs-api
Учебный проект «API на Node.js, Express.js и MongoDB
https://github.com/alterego10/js-junior-nodejs-api
css docker-compose expressjs html5 javascript mongodb mongoose nodejs postman
Last synced: 12 days ago
JSON representation
Учебный проект «API на Node.js, Express.js и MongoDB
- Host: GitHub
- URL: https://github.com/alterego10/js-junior-nodejs-api
- Owner: AlterEgo10
- License: mit
- Created: 2024-08-30T12:15:54.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-09-04T12:05:04.000Z (10 months ago)
- Last Synced: 2025-04-05T16:48:05.089Z (3 months ago)
- Topics: css, docker-compose, expressjs, html5, javascript, mongodb, mongoose, nodejs, postman
- Language: HTML
- Homepage:
- Size: 1.48 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Учебный проект «API на Node.js, Express.js и MongoDB»





Для создания API используется фреймворк Express.js.
В качестве базы данный выбрана MongoDB.
Взаимодействие с базой данных осуществляется через Mongoose ORM.# Настройка перед запуском
Переименуйте файл `.env.example` в `.env`.
- Добавьте любую последовательность символов в переменную окружения `JWT_SIFN_KEY` (используется для создания и верификации JWT);
- В переменную окружения `MONGO_DB_URL` добавьте строку подключения к базе данных MongoDB.# Docker для MongoDB
Вы можете использовать `docker-compose.yml` для создания и запуска Docker контейнера с MongoDB.* Если используется конфигурация из `docker-compose.yml` без изменений, то значение переменной окружения `MONGO_DB_URL` необходимо установить в `mongodb://root:1234@localhost:27017/app?authSource=admin`
# Запуск приложения
```
npm start
```# Запуск приложения в режиме разработки
В режиме разработки используется npn пакет [nodemon](https://www.npmjs.com/package/nodemon)
```
npm run dev
```# Запуск приложения в режиме отладки
```
npm run debug # Linux, MacOS
npm run debug-win # Windows
```# Проверка авторизации пользователя
Проверка авторизации осуществляется двумя способами:
- С помощью пользовательской middleware `./middleware/authMiddleware/authMiddleware.js`;
- С помощью библиотеки Passport.js (стратегия `passport-jwt`).Также, можно откючить проверку авторизации пользователя.
Переключить способ проверки авторизации пользователя можно в файле `app.js`, выбрав нужный вариант.
```js
app.use('/api/projects', passport.authenticate('jwt',{session: false}), routerProjects); // Passport.js
// app.use('/api/projects', authMiddleware, routerProjects); //Пользовательская middleware
// app.use('/api/projects', routerProjects);//Без авторизации
```# Формы регистрации и авторизации
![]()
# Тестирование API
Для тестирования API установите Postman и импортируйте коллекцию из файла `test/postman-data-file.json`.Также, вы можете указать файл `tests/postman-data-file.json` при запуске тестов через `Collection Runner`. Это необязательно, так как это не влияет на прохождение тестов.
# Код веб-приложения написан с использованием









# Лицензия
