Hands-on Java projects built module by module, covering core Java, object-oriented design, file I/O, and concurrency.
| # | Project | Description | Key Concepts |
|---|---|---|---|
| 1 | Inventory Management System | Menu-driven console app to manage products, categories, and stock levels with persistent storage. | OOP, Collections, Serialization, File I/O |
| 2 | Multi-Threaded File Processor | Processes multiple CSV sales files concurrently and generates an aggregated sales report. | ExecutorService, Callable/Future, Builder Pattern, Streams |
myanatomy-java-stack/
├── Module - 1/
│ └── Inventory Management System/
│ ├── Main.java # Console UI and menus
│ ├── InventoryManager.java # Business logic
│ ├── Product.java # Product model
│ ├── Category.java # Category model
│ ├── FileManager.java # Serialization-based persistence
│ └── products.dat # Sample data
│
└── Module - 2/
└── MultiThreadedFileProcessor/
├── src/ # Java source (config, model, processor, report)
├── data/ # Sample CSV input files
├── run.sh # Build & run (macOS / Linux)
└── run.bat # Build & run (Windows)
-
JDK 11 or later — verify with:
java -version javac -version
No build tools or external libraries are required. Every project compiles with plain javac.
git clone https://github.com/Deepanshxsharma/myanatomy-java-stack.git
cd myanatomy-java-stackModule 1 — Inventory Management System
cd "Module - 1/Inventory Management System"
javac *.java
java MainModule 2 — Multi-Threaded File Processor
cd "Module - 2/MultiThreadedFileProcessor"
./run.sh # macOS / Linux
run.bat # WindowsSee each project's README for detailed usage and design notes.
- Object-Oriented Programming — encapsulation, models, separation of concerns
- Collections Framework —
List,Map,TreeMap,ArrayList - File I/O — object serialization, buffered CSV reading, report writing
- Concurrency — thread pools,
Callable,Future, graceful shutdown - Design Patterns — Builder pattern for immutable configuration
- Functional Java — lambdas, method references, Stream API
- Input Validation — defensive parsing and error handling
Maintained by Deepansh Sharma