Skip to content
AgileLogics
Advanced 5 min read

Advanced Projects

Prerequisites: Level 3 — Advanced

Build these using coroutines, Flow, Ktor, Compose, and the testing and deployment practices from Level 3.

1. REST API with Ktor

Build a JSON API for tasks or bookmarks with Ktor server, kotlinx.serialization, and a database through Exposed or JDBC with parameterized queries. Validate input, return proper status codes, test it with Ktor's testApplication, and ship it as a Docker image.

2. Concurrent Link Checker

Read URLs from a file and check them concurrently with coroutines and Ktor's HTTP client, limiting concurrency with a Semaphore, applying timeouts with withTimeout, and cancelling everything cleanly on Ctrl + C. Report progress with a Flow.

3. Android Notes App

Build a notes app with Jetpack Compose: a list screen, a detail screen, and search. Keep state in a ViewModel exposing a StateFlow, store notes with Room, and write unit tests for the ViewModel using kotlinx-coroutines-test.