Репозиторий для приложения проекта Mesto, включающий фронтенд на React.js и бэкенд на express.js
Это продолжение работы над проектом Mesto:
- Mesto
- Mesto (версия на React)
- Mesto (версия на авторизацией и регистрацией)
- Mesto (версия для сервера)
- Mesto (версия с фронтендом и бэкендом) ⬅ этот репозиторий
Выполнен в рамках серии проектных работ в Яндекс.Практикуме по профессии «Веб-разработчик» (от начала изучения бекэнда, спринт 13, и далее).
Открыть приложение в браузере: mesto.novvember.tk
Деплой на Github Pages: mesto.novvember.tk
Деплой на render.com + MongoDB Atlas: reac-mesto-api.onrender.com
Для принудительного падения сервера нужно отправить GET
-запрос на URL /crash-test
.
После падения должна сохраняться возможность обратиться по любому другому роуту, не запуская приложение на сервере вручную.
- Открыть файл
/backend/jwtProductionCheck.js
в редакторе кода - Заменить значение токена в переменной
YOUR_JWT
на значение, которое вернул публичный сервер - Сохранить файл и запустить его командой
node jwtProductionCheck.js
- В консоль будет выведен результат проверки.
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
-файле
✅ Завершено