Skip to content

Сервис Mesto (версия с фронтендом и бэкендом) — пользователи, как в Инстаграме, добавляют фотографии, ставят лайки. Это основная проектная работа в Яндекс.Практикуме сразу по многим темам

Notifications You must be signed in to change notification settings

novvember/react-mesto-api-full

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 

Repository files navigation

Mesto (версия с фронтендом и бэкендом)

Репозиторий для приложения проекта Mesto, включающий фронтенд на React.js и бэкенд на express.js

Это продолжение работы над проектом Mesto:

  1. Mesto
  2. Mesto (версия на React)
  3. Mesto (версия на авторизацией и регистрацией)
  4. Mesto (версия для сервера)
  5. Mesto (версия с фронтендом и бэкендом) ⬅ этот репозиторий

Выполнен в рамках серии проектных работ в Яндекс.Практикуме по профессии «Веб-разработчик» (от начала изучения бекэнда, спринт 13, и далее).

Демо

Открыть приложение в браузере: mesto.novvember.tk

Инструкции для доступа

Часть с фронтендом

Деплой на Github Pages: mesto.novvember.tk

Сервер с API

Деплой на render.com + MongoDB Atlas: reac-mesto-api.onrender.com

Тестирование падения сервера

Для принудительного падения сервера нужно отправить GET-запрос на URL /crash-test.

После падения должна сохраняться возможность обратиться по любому другому роуту, не запуская приложение на сервере вручную.

Проверка использования секретного ключа для токена

  1. Открыть файл /backend/jwtProductionCheck.js в редакторе кода
  2. Заменить значение токена в переменной YOUR_JWT на значение, которое вернул публичный сервер
  3. Сохранить файл и запустить его командой node jwtProductionCheck.js
  4. В консоль будет выведен результат проверки.

Структура проекта

backend/ - бэкенд для сервера с API

frontend/ - фронтенд на React.js

Дополнительные возможности этой версии

  • Фронтенд
    • React-приложение адаптировано под рабочий API-сервер (вместо учебного сервера Я.Практикума в предыдущих версиях)
    • вся функциональность приложения сохранена
  • Бэкенд
    • фронтенд и бэкенд на одном сервере с доступом через домен
    • сбор логов запросов к серверу в файл request.log
    • сбор логов ошибок на сервере в файл error.log
    • доступ к серверу через ssh
    • автоматический запуск/перезапуск БД на сервере
    • автоматический запуск/перезапуск сервера
    • настроенный файрвол для работы с портами
    • обработка CORS-запросов на сервере
    • доступ через https

Стек технологий

  • сервер на Ubuntu в Яндекс.Облаке
  • ssh-ключи для доступа к серверу
  • API-сервер на Node.js + express.js
  • база данных на MongoDB + Mongoose
  • обновление кода на сервере через Git
  • менеджер процессов на сервере pm2
  • раздача фронтенда через nginx
  • обратный прокси-сервер на nginx
  • файрвол ufw
  • SSL-сертификаты от Letsencrypt
  • хранение переменных окружения в .env-файле

Статус разработки

Завершено

About

Сервис Mesto (версия с фронтендом и бэкендом) — пользователи, как в Инстаграме, добавляют фотографии, ставят лайки. Это основная проектная работа в Яндекс.Практикуме сразу по многим темам

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published