Your Complete Solution for Smart Inventory Management
π― Overview β’ π Workflow β’ π Features β’ π» Tech Stack β’ π¦ Installation β’ π Documentation β’ π¨βπ» Author
The Inventory Control System is a dependable and efficient solution designed to simplify inventory management. It offers a range of features, including real-time tracking of products and orders, ensuring seamless and effective inventory operations.
The process begins with the OWNER registering their inventory in the system. Upon successful registration, the owner receives a welcome email confirming their registration. Once registered, the owner can add suppliers to the system. Next, products are added to the inventory and linked to their respective suppliers. If the quantity of any product falls to or below the minimum stock level, the system automatically notifies the owner via email about the issue. To replenish stock, the owner can place an order with the relevant supplier directly through the system. Once an order request is made, the supplier is notified via email and fulfills the request according to the ownerβs requirements.
This streamlined process ensures that inventory is managed efficiently, minimizing stockouts and facilitating smooth operations for the owner. The Inventory Control System is a comprehensive tool for effective inventory management.
- Owner Registration
- Supplier Management
- CSV Operations
- Product Management
- Smart Notifications
- Order Processing
- π Business Owner Registration
- Quick and easy system registration
- Welcome email confirmation
- Secure account setup
- π₯ Multi-Supplier Integration
- Seamless supplier onboarding
- Comprehensive contact database
- Automated supplier communications
- Smart product-supplier mapping
- π₯ Data Import/Export
- Bulk product upload
- Supplier data import
- Inventory export
- Template-based processing
- π·οΈ Inventory Control
- Intuitive product addition
- Supplier linkage system
- Real-time quantity tracking
- Supplier-based categorization
- π Automated Alerts
- Continuous stock monitoring
- Low-stock threshold alerts
- Instant email notifications
- Supplier update system
- π Streamlined Ordering
- One-click order placement
- Intelligent supplier routing
- Automated order notifications
- Customized delivery management
|
|
|
|
graph LR
A[Spring Boot] --> B[Spring Security]
B --> C[JWT Authentication]
A --> D[Spring Data JPA]
- Database: MySQL / PostgreSQL
- Authentication: JWT with Spring Security
- Documentation: Postman
- Testing: JUnit, Mockito
- Utilities: Lombok, ModelMapper
- Validation: Jakarta Validation API
- Java 17+
- Maven 3.6+
- MySQL
- Clone Repository
git clone https://github.com/sumanbisunkhe/inventory-control-system.git
cd inventory-control-system- Configure Database
Create
application.properties:
spring.application.name=inventory-control-system
# MySQL Database Configuration
spring.datasource.url=jdbc:mysql://localhost:3306/inventory_control_system_db
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# Hibernate JPA Configuration
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
# Other Spring Boot Settings
server.port=8080
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
# ========== JWT Configuration ==========
jwt.secret=0oaP4MrLeRXkmISd9HXo6Eth90udQMvCICrKbaAfqbE=
# ========== Logging Configuration ==========
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
# ====== Mail Configuration ======
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=you_email
spring.mail.password=your_email_app_password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true- Build & Run
mvn clean install
mvn spring-boot:runinventory-management-system/
β
βββ src/
β βββ main/
β β βββ java/
β β β βββ com/
β β β βββ example/
β β β βββ inventory/
β β β βββ config/
β β β β βββ SecurityConfig.java
β β β β
β β β βββ controller/
β β β β βββ AuthController.java
β β β β βββ CsvController.java
β β β β βββ OrderController.java
β β β β βββ ProductController.java
β β β β βββ SupplierController.java
β β β β βββ UserController.java
β β β β
β β β βββ dto/
β β β β βββ OrderDto.java
β β β β βββ ProductDto.java
β β β β βββ SupplierDto.java
β β β β βββ UserDto.java
β β β β
β β β βββ enums/
β β β β βββ Category.java
β β β β βββ OrderStatus.java
β β β β βββ RoleName.java
β β β β βββ Status.java
β β β β
β β β βββ exceptions/
β β β β βββ CsvlmportException.java
β β β β βββ GlobalExceptionHandler.java
β β β β βββ JwtTokenException.java
β β β β βββ OrderNotFoundException.java
β β β β βββ ProductNotFoundException.java
β β β β βββ SupplierNotFoundException.java
β β β β
β β β βββ model/
β β β β βββ Order.java
β β β β βββ Product.java
β β β β βββ Role.java
β β β β βββ Supplier.java
β β β β βββ User.java
β β β β
β β β βββ repo/
β β β β βββ OrderRepo.java
β β β β βββ ProductRepo.java
β β β β βββ RoleRepo.java
β β β β βββ SupplierRepo.java
β β β β βββ UserRepo.java
β β β β
β β β βββ security/
β β β β βββ AuthenticationRequest.java
β β β β βββ AuthenticationResponse.java
β β β β βββ JwtRequestFilter.java
β β β β βββ JwtUtil.java
β β β β
β β β β
β β β βββ service/
β β β β βββ impl/
β β β β β βββ EmailServiceImpl.java
β β β β β βββ OrderServiceImpl.java
β β β β β βββ ProductServiceImpl.java
β β β β β βββ SupplierServiceImpl.java
β β β β β βββ UserServiceImpl.java
β β β β β
β β β β βββ EmailService.java
β β β β βββ OrderService.java
β β β β βββ ProductService.java
β β β β βββ SupplierService.java
β β β β βββ UserService.java
β β β β
β β β βββ utils/
β β β β βββ CsvUtils.java
β β β β βββ CustomCustomerDetailsService.java
β β β β βββ CustomEmailMessage.java
β β β β βββ Databaselnitializer.java
β β β β βββ KeyGenerator.java
β β β β βββ Rolelnitializer
β β β β
β β β βββ InventoryManagementSystemApplication.java
β β βββ resources/
β β βββ docs/
β β β βββ Inventory Control System API Documentation.pdf
β β βββ application.properties
β β
β βββ test/
β βββ java/
β βββ com/
β βββ example/
β βββ inventory/
β βββ controller/
β β βββ AuthControllerTest.java
β β βββ CsvControllerTest.java
β β βββ OrderControllerTest.java
β β βββ ProductControllerTest.java
β β βββ SupplierControllerTest.java
β β βββ UserControllerTest.java
β β
β βββ service/
β β βββ EmailServicelmplTest.java
β β βββ OrderServicelmplTest.java
β β βββ ProductServicelmplTest.java
β β βββ SupplierServicelmplTest.java
β β βββ UserServicelmplTest.java
β β
β βββ InventoryManagementSystemApplicationTests.java
β
β
βββ LICENSE
βββ mvnw
βββ mvnw.cmd
βββ pom.xml
βββ README.md
| Category | Dependencies |
|---|---|
| Core |
|
| Security |
|
| Database |
|
| Utilities |
|
| Format | Description | Link |
|---|---|---|
![]() |
Comprehensive system architecture and API reference | View PDF |
![]() |
Interactive API documentation with examples | View in Postman |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Made with β€οΈ by Suman Bisunkhe


