Skip to content
AgileLogics
Intermediate 5 min read

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.