iwantcoding.com
🔥 Daily 👥 Rooms 🏆 Top Log in Sign up

Certificate

Kotlin track certificate: criteria, project brief, rubric.

Kotlin — certificate

EXAMPLE
# ===== Award criteria =====
# Pass: >= 70%; Distinction >= 85%.
#
# 1. Project structure         (10)
# 2. Idiomatic Kotlin           (15)
# 3. Null safety + types        (10)
# 4. Coroutines                 (15)
# 5. JVM (Spring Boot / Ktor)   (15)
# 6. Tests                      (15)
# 7. Build + deploy (Docker)    (10)
# 8. Communication              (10)

# ===== Project brief =====
# Ship a small Kotlin service:
# - Spring Boot or Ktor; pick one
# - 4+ endpoints with validation
# - Postgres via Exposed / sqlDelight / JPA
# - Coroutines for async operations
# - Test coverage > 70% (JUnit 5 + MockK + Testcontainers)
# - Multi-stage Dockerfile producing a < 80 MB image
# - GitHub Actions CI (gradle build + test on every PR)
# - README + ARCHITECTURE + RUNBOOK

# Ideas:
# - URL shortener
# - Task tracker API
# - Inventory service
# - Webhook receiver

# ===== Sample structure =====
# shop/
#   src/main/kotlin/
#     com/example/shop/
#       Application.kt
#       api/
#       domain/
#       storage/
#       config/
#   src/test/kotlin/...
#   src/main/resources/application.yml
#   build.gradle.kts
#   Dockerfile
#   docker-compose.yml
#   README.md
#   docs/ARCHITECTURE.md

# ===== Marking sheet (example) =====
# 1. Structure          9/10   layered, small files
# 2. Idiomatic         13/15   data class, sealed, scope functions
# 3. Null safety        9/10   no !! in production paths
# 4. Coroutines        13/15   structured scopes, no GlobalScope
# 5. JVM API           14/15   Spring Boot or Ktor done cleanly
# 6. Tests             13/15   MockK + Testcontainers
# 7. Deploy             9/10   multi-stage Docker, distroless base
# 8. Communication      9/10   README, ADRs, runbook
# Total: 89/100 -> Distinction

# ===== Patterns to internalise =====
# - val + nullable types in signatures
# - data class for value carriers
# - sealed class for closed hierarchies
# - Coroutines with structured scopes
# - JUnit 5 + MockK + Testcontainers for tests
# - Multi-stage Docker; distroless base in production
# - JVM tuning if needed (G1, ZGC)

# ===== Pitfalls =====
# - !! everywhere -> defeats null safety
# - GlobalScope in production
# - Mutable JPA entities + data class (don't)
# - No test coverage on critical paths
# - 'Latest' tags shipped to production

Why it matters

Kotlin certificate: ship a Spring Boot or Ktor service with idiomatic Kotlin + coroutines + tests + Docker + CI. The same shape works for backends and CLI tools; pin the rubric and the cert demonstrates production-quality work.

Tip: Tweak the snippet with Try it Yourself », then sit the quiz at the bottom of the page.

Example

Example
// /certificate/kotlin
Try it Yourself »

Discussion

Loading…