A production-ready Spring Boot microservice powered by MongoDB, RabbitMQ, and Memcached. Designed for scalable backends, async messaging, and ultra-fast caching. Containerized with Docker for seamless deployment
- ✅ Spring Boot REST APIs
- ✅ MongoDB Integration
- ✅ Dockerized Deployment
- ✅ Docker Compose Orchestration
- ✅ Clean Maven Project Structure
This project showcases a standard 3-tier architecture:
- 👨💻 Presentation Layer – User interacts via API/UI
- ⚙️ Application Layer – Spring Boot backend processes logic
- 🗄️ Data Layer – MongoDB for persistent storage
Ideal for DevOps learners, CI/CD pipelines, Docker orchestration, and cloud-native application testing.
- Light/dark mode toggle
- Live previews
- Fullscreen mode
- Cross platform
Layer | Technology |
---|---|
Frontend (optional) | HTML/CSS (planned) |
Backend | Java 17, Spring Boot |
Database | MongoDB |
Containerization | Docker, Docker Compose |
Build Tool | Maven |
Before you begin, ensure you have:
✅ Java 17+
✅ Maven
✅ Docker
✅ Docker Compose
Follow these steps to get the project up and running on your machine.
git clone https://github.com/Coding4Deep/3-tier-spring-mongo.git
cd 3-tier-spring-mongo
./mvnw clean package
docker-compose up --build
⏱️ Wait a few seconds for the application and MongoDB to initialize.
- 🔗 API Endpoint: http://localhost:8080
- 📔️ MongoDB:
localhost:27017
You can interact with the backend using tools like:
- 📬 Postman
- 🌀 Curl
- 📄 Swagger UI (if integrated)
✅ You're all set! Happy coding! 🙌
We welcome contributions, feedback, and feature ideas! Here's how you can get involved:
-
Fork the Repository
Click on the fork button to create your own copy. -
Create a New Branch
git checkout -b feature/your-feature-name
-
Make Your Changes
Improve the code, add features, or fix bugs. -
Commit Your Changes
git commit -m "Add: a short meaningful commit message"
- Push to GitHub
git push origin feature/your-feature-name
- Open a Pull Request
Navigate to your repo on GitHub and open a PR. Describe your changes and reference any related issues.
Thanks for helping improve this project! 💙
This project is licensed under the MIT License.