A comprehensive and secure Inventory Management System built with Java Spring Boot, MongoDB, and JWT Authentication.
This project helps businesses efficiently manage products, track stock levels, and monitor orders through a scalable and modular backend architecture.
| Layer | Technology |
|---|---|
| Backend | Spring Boot (Java) |
| Database | MongoDB |
| Security | JWT Authentication |
| API Type | RESTful APIs |
| Architecture | Domain-Driven Design (DDD), Hexagonal Architecture |
This system follows Domain-Driven Design (DDD) and Hexagonal Architecture principles to ensure:
- Clear separation between domain logic and infrastructure layers
- High testability and flexibility for future feature integration
- Enhanced scalability and maintainability
| Register View |
|---|
![]() |
| LogIn View |
![]() |
| Dashboard |
![]() |
| Product List View |
![]() |
| Add Products View |
![]() |
| Edit Products View |
![]() |
Setup and Installation:
Clone the repository:
git clone https://github.com/yashtank86/inventory-management-system-springboot-mongodb.git
Install Dependencies:
This project uses Maven for dependency management. Run the following command to install the dependencies:
mvn clean install
Configure MongoDB:
Make sure you have MongoDB installed and running locally or use a MongoDB Atlas cloud instance.
Update the application.properties file to include your MongoDB connection details.
Configure JWT Secret:
Add your JWT secret key in the application.properties or application.yml file for secure token generation.
Example:
jwt.secret=your-secret-key
jwt.expiration=3600
Run the Application: To start the application, run the following command:
mvn spring-boot:run
The application will run on http://localhost:8086
Endpoints:
GET /user/productList: Get all products in the inventory.
POST /user/addProduct: Add a new product to the inventory.
PUT /user/editProduct/{productId}: Update an existing product's details.
[pending] DELETE /api/products/{id}: Delete a product from the inventory.
Contributing:
Feel free to open issues or submit pull requests if you'd like to contribute to the development of this inventory management software. License:
This project is licensed under the MIT License - see the LICENSE file for details.
- 📊 Add analytics and reporting dashboards
- 🧠 Integrate AI-based stock demand forecasting
- 🌐 Add a React or Angular frontend for user interface
- 📨 Implement email notifications for low-stock alerts
- Contributions, issues, and feature requests are welcome!
- Feel free to fork the repo and submit a pull request.





