Skip to content
This repository was archived by the owner on Feb 9, 2026. It is now read-only.

[TASK] Android Mobile β€” Represent User Activities in a Standardized FormatΒ #327

@berkayak13

Description

@berkayak13

πŸ“Œ Description

The Android app should consume, display, and locally manage user activities that follow the Activity Streams 2.0 format provided by the backend.
This ensures a consistent, extensible, and offline-capable activity feed across the app.


βœ… Acceptance Criteria

  1. Android app defines Kotlin data models for Activity Streams 2.0 (actor, verb, object, target, published, etc.) and properly deserializes backend responses.
  2. App fetches, paginates, and caches activities using Retrofit + Paging 3 + Room, with graceful offline fallback and pull-to-refresh.
  3. A unified Activity Feed UI (Jetpack Compose) displays activities such as waste logs, challenges, badges, and tips with consistent visuals and navigation to detail screens.
  4. Error, empty, and loading states are clearly handled in UI; analytics events (view, tap, share) are logged for user engagement tracking.
  5. Implementation passes unit, integration, and UI tests, and adheres to accessibility, dark mode, and internationalization standards.

πŸ“‹ Tasks

  • Model Layer: Define ActivityStream, Activity, Actor, Object, Target (Kotlinx Serialization).
  • API Layer: Implement Retrofit interface to /activities endpoint with pagination params.
  • Repository Layer: Combine network + Room cache; expose data via Paging 3.
  • UI Layer: Create Compose feed with item composables for each activity type; implement navigation and share intents.
  • UX Enhancements: Loading shimmer, empty/error placeholders, dark mode theming.
  • Testing: Unit tests (serialization, repository), integration tests (cache sync), Compose UI tests.
  • Docs: Update mobile developer README with architecture diagram, API schema, and testing guide.

Metadata

Metadata

Assignees

Labels

3-6 hoursExpected time of the taskpr:highHigh-Priority task

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions