/mesto-project-plus

Репозитория проекта Mesto (Web-Plus)

Primary LanguageTypeScript

Проектная работа Бэкенд Mesto.

Создана по итогу прохождения спринта четырнадцатого месяца кураса "Веб разработчик +".


Описание проекта:

"Бэкенд Mesto" - создание RESTful API для социальной сети Mesto. Проект выполнен самым популярным фреймворком для разработки серверного кода — Express. БД MongoDB. Управление запросмами к БД с помощью Mongoose.


📝 Функционал:

  • Регистрация и авторизация пользователей
  • Пароли в БД хранятся в захешированном виде
  • Чтение и запись JWT в cookie
  • Сохранение и отправка карточек на frontend
  • Хранение информации по кол-ву лайков на карточке
  • Логирование ошибок и запросов на сервере, а так же ротация логов
  • отправка сообщений в Telegram с информацией об ошибках и запросам к ендпоинтам
  • Установлен лимитер запросов к серверу

🔧 Технологии:

  • NODE JS
  • Express
  • TypeScript
  • Winston
  • MongoDB
  • Mongoose

📖 Установка и запуск:

#Клонируйте репозиторий по SSH
git@github.com:Shoomec74/mesto-project-plus.git

#Клонируйте репозиторий по HTTPS
https://github.com:Shoomec74/mesto-project-plus.git

#Устанвите зависимости
npm i

Создайте файл .env в корне проекта, скопируйте содержимое файла .env.example Далее замените значения у следующих переменных:

#Введите команду в консоль - сгенерирует 256-битный (32-байтный) ключ и выведет его в консоль
node -e "console.log(require('crypto').randomBytes(32).toString('hex'));"

#Замените yourSecretString на полученное значение
JWT_SECRET=yourSecretString

#Найдите и запустите бота @backendMestoBot в Telegram
#далее замените yourChatID на ваш ChatID
CHAT_ID=yourChatID

#Запустите проект
npm run dev

🚀 Использование:

Для использования вам потребуется программа "Postman" установите её для вашей системы. Импортируйте в программу набор ендпоинтов из файла Mesto_localhost.postman_collection.json