This project is a clean and practical implementation of an Inventory and Stock Management System built using Java and MySQL. It focuses on core backend logic, structured coding practices, and real-world functionality — all without unnecessary complexity.
The system allows users to manage products efficiently by performing essential operations like adding, updating, deleting, and tracking stock levels. Designed as a console-based application, it demonstrates strong fundamentals in database connectivity, object-oriented design, and layered architecture.
✨ Features
- ➕ Add new products with unique UUIDs
- 📋 View all available products
- ✏️ Update product details
- 🗑️ Delete products from inventory
- 📈 Stock In (increase quantity)
- 📉 Stock Out (decrease quantity)
- 🧩 Structured using DAO design pattern
🛠️ Tech Stack
- ☕ Java (Core Java, JDBC)
- 🗄️ MySQL Database
- 🧠 OOP Concepts
- 📦 DAO (Data Access Object) Pattern
📂 Project Structure
project
├── database
│ └── DatabaseConnection.java
├── model
│ └── Product.java
├── dao
│ └── ProductDAO.java
└── main
└── Main.java
⚙️ Setup Guide
1️⃣ Create Database
CREATE DATABASE IF NOT EXISTS inventory_management;
2️⃣ Use Database
USE inventory_management;
3️⃣ Create Products Table
CREATE TABLE IF NOT EXISTS products (
id VARCHAR(36) PRIMARY KEY,
name VARCHAR(100),
quantity INT,
price DOUBLE
);
4️⃣ Configure Database Connection
String url = "jdbc:mysql://localhost:3306/inventory_management";
String user = "your_username";
String password = "your_password";
5️⃣ Run the Application
Run the Main.java file. You will see a menu-driven console interface:
- 🎯 Choose options by entering numbers
- 🧾 Perform CRUD operations easily
- 📊 Manage stock in real time
🧠 Key Concepts Used
- 🔹 JDBC for database connectivity
- 🔹 UUID for unique product identification
- 🔹 Layered architecture (Model → DAO → Main)
- 🔹 Prepared Statements for secure queries
💬 Final Thoughts
This project demonstrates how a simple idea can be turned into a structured and functional system using clean coding practices. It serves as a strong foundation for building larger applications in the future.
📌 A solid backend-focused project that highlights practical development skills.
