The Work Done
I built a Cake Ordering App using Jetpack Compose for the front end and incorporated robust backend logic to handle user interactions, data validation, and order management. The application features:
- A Home Screen introducing the app.
- A Cake Menu Screen showcasing a list of cakes with descriptions and prices.
- An Order Screen where users can review their selection and confirm orders.
The backend logic includes:
- Navigation between screens using Compose’s NavHost.
- State management to ensure seamless data flow between the screens.
- Validation for user inputs, ensuring orders cannot be submitted without necessary details.
Skills Developed
- Proficiency in Kotlin programming for backend logic.
- Expertise in state management and navigation architecture.
- Separation of concerns to ensure maintainability and scalability.
- Implementation of clean, reusable code practices in alignment with SDLC.
Challenges Faced
One significant challenge was implementing state management efficiently while ensuring seamless screen transitions. Initially, shared data wasn’t reflecting consistently across the app. To solve this, I leveraged ViewModel
and MutableState
to synchronize data.
Learning Outcomes
- Strengthened problem-solving abilities in backend logic and architecture.
- Gained practical experience integrating modern Android development practices.
- Enhanced my ability to debug complex state-related issues.
Screenshots/Visuals
- Home Screen: A clean, minimalistic introduction page.
- Cake Menu Screen: Displays a scrollable list of cakes with prices and descriptions.
- Order Screen: Users can confirm their orders and view total cost calculations.
Reflection
This assignment was instrumental in honing my backend development skills. It provided insight into structuring applications for scalability and user-centric design. As a future enhancement, I aim to integrate SQLite for persistent data storage.