This repository was archived by the owner on Feb 9, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
[TASK] Android Mobile β Represent User Activities in a Standardized FormatΒ #327
Copy link
Copy link
Open
Labels
3-6 hoursExpected time of the taskExpected time of the taskpr:highHigh-Priority taskHigh-Priority task
Milestone
Description
π 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
- Android app defines Kotlin data models for Activity Streams 2.0 (
actor,verb,object,target,published, etc.) and properly deserializes backend responses. - App fetches, paginates, and caches activities using Retrofit + Paging 3 + Room, with graceful offline fallback and pull-to-refresh.
- 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.
- Error, empty, and loading states are clearly handled in UI; analytics events (view, tap, share) are logged for user engagement tracking.
- 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
/activitiesendpoint 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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
3-6 hoursExpected time of the taskExpected time of the taskpr:highHigh-Priority taskHigh-Priority task