This project is a full-stack web application using MongoDB, a Node.js/Express backend, and a React frontend, all containerized with Docker and orchestrated using Docker Compose.
- 🐳 Docker & Docker Compose
- 🌐 MongoDB 7.0
- 🧭 Mongo Express (web-based MongoDB GUI)
- 🔧 Express.js (Node.js backend)
- ⚛️ React (Frontend - Jon)
Ensure you have the following installed:
From the root of the project:
docker-compose up --buildTo run in the background:
docker-compose up --build -dTo stop and remove containers:
docker-compose down| Service | URL | Description |
|---|---|---|
| Frontend | http://localhost:3001 | React frontend app |
| Backend API | http://localhost:5059 | Node.js/Express API |
| Mongo Express | http://localhost:8087 | MongoDB admin GUI |
| MongoDB | localhost:27018 | MongoDB database container |
# Build and start containers
docker-compose up --build
# Stop and remove containers
docker-compose down
# View logs for a specific service
docker-compose logs backend
# Access a running container's shell
docker exec -it backend_container shEnvironment variables are currently defined in docker-compose.yml. You can refactor this by using .env files:
In docker-compose.yml:
env_file:
- ./backend/.envThen create .env inside backend/:
MONGO_URI=mongodb://mongodb:27017/mydb
Be sure to add .env to .gitignore to avoid committing secrets.
Create a .gitignore file in both frontend/jon/ and backend/ directories:
node_modules/
.env
dist/
build/
npm-debug.log
To test the backend:
curl http://localhost:5059To test the frontend, visit:
http://localhost:3001
- Build GitHub Action Plugin
- Build Python and Julia Clients
Built with ❤️ using Docker, Node.js, and React.

