Skip to content

Latest commit

 

History

History
79 lines (62 loc) · 5.11 KB

README.md

File metadata and controls

79 lines (62 loc) · 5.11 KB

Проекты

💡 Учебный проект «API на Node.js, Express.js и MongoDB»

GitHub language count GitHub top language GitHub code size in bytes GitHub issues GitHub pull requests GitHub closed pull requests GitHub last commit

Для создания 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

Запуск приложения в режиме разработки

В режиме разработки используется npm пакет nodemon.

npm run dev

Запуск приложения в режиме отладки

npm run debug # Linux, MacOS
npm run debug-win # Windows

Проверка авторизации пользователя

Проверка авторизации осуществляется двумя способами:

  • С помощью пользовательской middleware ./middleware/authMiddleware.js;
  • С помощью библиотеки Passport.js (стратегия passport-jwt).

Также, можно отключить проверку авторизации пользователя.

Переключить способ проверки авторизации пользователя можно в файле app.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 и импортируйте коллекцию из файла tests/postman-collection.json.

Также, вы можете указать файл tests/postman-data-file.json при запуске тестов через Collection Runner. Это необязательно, так как это не влияет на прохождение тестов. Проекты

Код веб-приложения написан с использованием

NodeJS Express.js HTML5 CSS3 Docker MongoDB Postman Visual Studio Code

Лицензия

GitHub