Android project for Android App Capstone (Coursera, Meta). The course is a part of Meta Android Developer Professional Certificate.
Kotlin, Jetpack Compose, Ktor, Room.
-
Data Fetching and Storage:
- Fetches and stores a list of menu items in a Room database for persistent data management.
-
Onboarding and Registration:
- Features an onboarding screen that guides users through the registration process. User data is stored in SharedPreferences.
-
Home Screen:
- Displays comprehensive information about the service.
- Provides a dynamic list of menu items, allowing users to filter the list by search phrases, categories, or both.
-
Profile Management:
- Offers a profile screen where users can view own information provided during onboarding.
- Includes a logout function.
This project is built using a range of modern technologies and libraries:
- Jetpack Compose - Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android with less code, powerful tools, and intuitive Kotlin APIs.
- Ktor - An asynchronous framework for creating microservices, web applications, and more. Used for handling server-side logic and networking.
- Room - An abstraction layer over SQLite used for database access while utilizing the full power of SQLite.
- Coil - An image loading library for Android backed by Kotlin Coroutines. It simplifies fetching, decoding, and displaying images in the application.
The wireframe could be found in design/
folder of the project. Wireframe has been built in Figma.
While the project currently meets the course's requirements, there are several enhancements that could be considered for future development. These enhancements, though not essential for the project's current scope, would be valuable if the project were to be expanded.
- Localization
- Themes support
- Network layer update
- Path isolation
- API versioning
- Endpoints implementation
- Migration to clean architecture
- ViewModels for each screen
- Repositories
- Use cases
- Unit and Integration Testing
Working soundtrack for tasks from week 1 and weeks 2 & 3.