Skip to content
AgileLogics
Intermediate 5 min read

Intermediate Projects

Prerequisites: Level 2 — Intermediate

Build these using OOP, collections, streams, and file I/O from Level 2.

1. Bank Account Simulator

Model Account (encapsulated balance, deposit/withdraw that throw a custom InsufficientFundsException) and a Bank holding a Map<String, Account>. Print a formatted statement of all accounts using streams.

2. Library Management System

Model Book and Member classes, and a Library holding List<Book>. Support checking a book out (removes it from the available list) and returning it, and use streams to list overdue books.

3. Employee Management with File Persistence

Read employee records from a CSV file with Files.readString and manual parsing, build Employee objects (implementing Comparable to sort by salary), and write a summary report back out to a new file.

4. Inventory Tracker

Model Product with a sku, name, and quantity, held in a Map<String, Product>. Support adding stock, removing stock (throwing a custom exception if it would go negative), and printing a low-stock report using streams (.filter(p -> p.quantity() < threshold)).