Android client for Fizzy - the card-based project management tool from 37signals
Find a file
Paweł Orzech 37c2061457
Add project plan document for Fuzzel Android client
Introduces plan.md outlining current implementation status, missing features, API requirements, UI parity tasks, technical details, key files for modification, and testing/verification steps for the Fuzzel Android client project.
2026-01-23 02:32:15 +01:00
app Add missing NOT NOW and DONE swimlanes to Kanban view 2026-01-19 09:30:18 +00:00
gradle/wrapper Fix Fizzy API integration to match official documentation 2026-01-19 08:48:46 +00:00
.gitattributes Initial commit 2026-01-18 22:08:41 +00:00
.gitignore Fix Fizzy API integration to match official documentation 2026-01-19 08:48:46 +00:00
build.gradle.kts Fix Fizzy API integration to match official documentation 2026-01-19 08:48:46 +00:00
gradle.properties Fix Fizzy API integration to match official documentation 2026-01-19 08:48:46 +00:00
gradlew Fix Fizzy API integration to match official documentation 2026-01-19 08:48:46 +00:00
LICENSE Initial commit 2026-01-18 22:08:41 +00:00
plan.md Add project plan document for Fuzzel Android client 2026-01-23 02:32:15 +01:00
README.md Fix Fizzy API integration to match official documentation 2026-01-19 08:48:46 +00:00
settings.gradle.kts Fix Fizzy API integration to match official documentation 2026-01-19 08:48:46 +00:00

Fuzzel

Fuzzel is an Android client for Fizzy, the card-based project management tool from 37signals.

Building

./gradlew assembleDebug

Architecture

The app follows Clean Architecture with the following layers:

  • Domain - Business logic, models, and repository interfaces
  • Data - API services, DTOs, and repository implementations
  • Presentation - ViewModels and Compose UI

API Integration

The app integrates with the Fizzy API using the following key endpoints:

Authentication

  • POST /session - Request magic link
  • POST /session/magic_link - Verify magic link code
  • Personal Access Token support via GET /my/identity.json

Resources

  • Boards: CRUD operations at /boards
  • Cards: Operations use card number (not ID) at /cards/{cardNumber}
  • Card Actions: Separate endpoints for close (/closure), triage (/triage), priority (/goldness), watch (/watch)
  • Tags: Account-level tags at /tags, card taggings at /cards/{cardNumber}/taggings
  • Comments: Nested under cards at /cards/{cardNumber}/comments
  • Steps: Nested under cards at /cards/{cardNumber}/steps
  • Notifications: Mark read via POST /notifications/{id}/reading

Tech Stack

  • Kotlin
  • Jetpack Compose
  • Hilt (DI)
  • Retrofit + Moshi
  • Coroutines + Flow