Bonus Feature Ideas

Overview

Implement one or more of the following advanced features in your final server-integrated project to earn +1 extra point for the practical exam.

Note: You are welcome to propose your own feature idea, but please confirm it with the lab instructor first!

Ideas Based on Lecture Topics

Animations

  • Implement custom screen transitions (e.g., shared element transitions from the list item to the detail/update screen).
  • Add advanced list animations for create/delete operations (beyond the default).
  • Create a loading state animation (e.g., a "shimmer" effect or skeleton screen) while data is being fetched from the server.

System Services & Sensors

  • Camera Integration: Add a feature to use the device's camera to take a photo and attach it to an item (e.g., a profile picture, or a photo for a list item).
  • Location Services: Use the GPS sensor to "tag" an item with the user's current location when it's created or updated.
  • Advanced Background Sync: Use WorkManager (Android) or a similar background task mechanism for more robust and efficient offline-to-online data synchronization.

Securing Mobile Apps

  • Local Authentication: Implement a simple login/register screen or a local PIN/biometric lock to protect access to the app's data.
  • Data Encryption: Encrypt the local database (e.g., using SQLCipher) to secure data at rest.

Coroutines, Flow & Reactive Programming

  • Reactive Search: Implement a real-time search/filter bar on the main list screen that updates the UI reactively as the user types (e.g., using Flow, LiveData transformations, or Rx).

AI (On-Device)

  • On-Device ML: Integrate a simple on-device machine learning model (e.g., using TensorFlow Lite) for a feature like image classification on a photo taken, or text recognition (OCR) from an image to pre-fill a form.

Testing Frameworks

  • Comprehensive Testing: Write a solid suite of unit tests for your ViewModels/Repositories and/or implement UI tests (e.g., Espresso, XCTest) that automate and verify the full CRUD flow.