Этот проект представляет собой шаблон для создания MERN (MongoDB, Express, React, Node.js) приложения с использованием Docker. Шаблон актуален на 2025 год и предоставляет готовую инфраструктуру для разработки и развёртывания проекта. Проект упакован с использованием Docker Compose, что позволяет легко поднять все необходимые сервисы, включая сервер, клиент и базу данных MongoDB.
- Backend: Сервер на Node.js с использованием Express, который подключается к MongoDB.
- Frontend: Клиентская часть на React, стилизованная с помощью Tailwind CSS.
- MongoDB: База данных, упакованная в Docker контейнер.
Для работы с этим проектом вам потребуется:
- Docker и Docker Compose, установленные на вашей машине.
- Make для удобного использования команд из Makefile.
Для корректной работы проекта рекомендуется создать .env
файлы как для серверной, так и для клиентской части.
Создайте файл .env
в корневой директории сервера и добавьте в него следующую строку:
MONGO_CONNECTION_STRING=mongodb://mongo:27017/db
Вы также можете заменить значение MONGO_CONNECTION_STRING
на свою строку подключения, если у вас есть настроенная база данных.
Создайте файл .env
в корневой директории клиента и добавьте следующую строку:
VITE_SERVER_URL=http://localhost:8080/api
Это значение указывает базовый URL для взаимодействия с сервером.
Для работы с проектом используются команды, описанные в Makefile
. Вот основные команды для запуска и управления проектом:
Для запуска проекта в режиме разработки выполните следующую команду:
make dev
Эта команда поднимет все необходимые сервисы с использованием Docker Compose, за исключением логов MongoDB, чтобы сделать вывод более читаемым.
Для остановки всех контейнеров выполните команду:
make dev-stop
Если вы внесли изменения в код и хотите пересобрать контейнеры, выполните следующую команду:
make dev-rebuild
Эта команда пересоберёт контейнеры и запустит их в режиме демона.
- После запуска сервер будет доступен по адресу
http://localhost:8080
. - Клиент будет доступен по адресу
http://localhost:3000
. - MongoDB будет доступна по адресу
mongodb://mongo:27017/db
.
- Убедитесь, что вы создали
.env
файлы и добавили в них необходимые переменные, чтобы проект корректно взаимодействовал с базой данных и сервером. - При необходимости отредактируйте строки подключения в
.env
файлах для адаптации к вашему окружению.
Если вам понравился этот проект и вы хотите поддержать автора, вы можете сделать это по следующей ссылке: Поддержать автора 🤝