Репозиторий для приложения проекта 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-файле
✅ Завершено