Intermediate Projects
Prerequisites: Level 2 — Intermediate
Build these using OOP, LINQ, and async/await from Level 2.
1. Bank Account Simulator
Model an Account class (encapsulated Balance property,
Deposit/Withdraw that throw a custom InsufficientFundsException)
and a Bank holding a Dictionary<string, Account>. Print a formatted
statement of all accounts using LINQ.
2. Library Management System
Model Book and Member records, and a Library holding
List<Book>. Support checking a book out and returning it, and use LINQ
to list overdue books.
3. Weather API Client
Use HttpClient with async/await to fetch data from a free public
weather API, deserialize the JSON response (System.Text.Json), and
print a formatted summary.
4. Inventory Tracker
Model a Product record with a Sku, Name, and Quantity, held in a
Dictionary<string, Product>. Support adding/removing stock (throwing a
custom exception if it would go negative), and print a low-stock report
using LINQ.