This project aims to develop a robust Inventory Management System using Spring Boot, MySQL Database, and Hibernate ORM. The system allows users to manage inventory records efficiently, including creating, updating, retrieving, and deleting inventory details, suppliers, and transactions.
- Inventory Item Management: CRUD operations for managing inventory items including creation, updating, retrieval, and deletion.
- Supplier Management: Ability to add, update, and delete suppliers, along with listing all items provided by a specific supplier.
- Transaction Management: Recording transactions related to inventory items, managing stock levels, and listing all transactions for a specific item.
- Item: Represents an inventory item with fields such as Item ID, name, quantity, supplier, and price.
- Supplier: Represents a supplier with fields like supplier ID, name, contact information, and description.
- Transaction: Represents a transaction with fields such as transaction ID, item ID, transaction type, quantity, and transaction date.
- RESTful API Architecture: Utilized Spring Boot framework to implement a RESTful API architecture, providing endpoints for various operations.
- MySQL Database: Integrated MySQL database for storing inventory data.
- Hibernate ORM: Utilized Hibernate ORM for database interaction to simplify CRUD operations and ensure data integrity.
- Cardinality Rules: Established appropriate cardinality rules between the models to maintain data consistency.
- Logging: Implemented logging for each CRUD operation to aid in debugging and monitoring system usage.
- Clone the Repository: Clone the project repository from [Inventory] (https://github.com/nullHawk/Inventory).
- Database Configuration: Configure MySQL database connection details in application.properties.
- Run Application: Run the Spring Boot application.
- Access API Endpoints: Access various API endpoints for managing inventory, suppliers, and transactions.
Item Controller
- GET /item: Retrieve all items.
- GET /item/{id}: Retrieve item by ID.
- POST /item: Create a new item.
- PUT /item/{id}: Update an existing item.
- DELETE /item/{id}: Delete an item by ID.
Supplier Controller
- GET /supplier: Retrieve all suppliers.
- GET /supplier/{id}: Retrieve supplier by ID.
- POST /supplier: Create a new supplier.
- PUT /supplier/{id}: Update an existing supplier.
- DELETE /supplier/{id}: Delete a supplier by ID.
Transaction Controller
- GET /transaction: Retrieve all transactions.
- GET /transaction/{id}: Retrieve transaction by ID.
- POST /transaction: Create a new transaction.
- PUT /transaction/{id}: Update an existing transaction.
- DELETE /transaction/{id}: Delete a transaction by ID.
For any inquiries or support, please contact nullhawk.
This documentation provides an overview of the Inventory Management System, including its features, implementation details, setup instructions, API endpoints, contributors, license, and contact information. For detailed technical documentation, please refer to the project's source code and comments.