0% found this document useful (0 votes)
4 views3 pages

Android Coding Assignment

The MatchMate project involves creating an Android app that simulates a matrimonial service, displaying match cards using data from a specified API. Key features include user acceptance/decline functionality, offline mode support, and the use of a local database for persistent storage. The project requires adherence to modern design guidelines and the implementation of best practices in coding and library usage.

Uploaded by

Aneesh Reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views3 pages

Android Coding Assignment

The MatchMate project involves creating an Android app that simulates a matrimonial service, displaying match cards using data from a specified API. Key features include user acceptance/decline functionality, offline mode support, and the use of a local database for persistent storage. The project requires adherence to modern design guidelines and the implementation of best practices in coding and library usage.

Uploaded by

Aneesh Reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Project Title: MatchMate

Project Description:
Create an Android app that simulates a Matrimonial App by displaying match cards similar to
Shaadi.com's card format. The app should use the provided API to fetch user data and
display it in a recycler view. Users can accept or decline matches, and the app should store
and display their decisions persistently, even in offline mode.

Requirements:
1. API Integration: Fetch user data from the provided API
(`https://randomuser.me/api/?results=10`) to populate the match cards.

2. Card Design: Design the match cards which includes user images, basic details, and two
action buttons (Accept and Decline). (Below is a just sample for reference but you should
improvise its UX/UI)

3. Accept/Decline Functionality: When a user clicks on the Accept or Decline button, update
the card UI to show the corresponding status (Member Accepted/Member Declined) and
update the database accordingly.(Below is a just sample for reference but you should
improvise its UX/UI)
4. RecyclerView: Implement a RecyclerView to display the match cards. Each card should
show user information and action buttons.

5. Local Database: Use a local database (e.g., Room) to store user profiles and their
acceptance/decline status. The database should handle offline storage and persistence.

6. Offline Mode: Ensure that the app functions seamlessly in offline mode. Cached data
should be displayed, and users should be able to accept/decline matches even without an
internet connection. Sync data with the server when the connection is restored.

7. Design Patterns: Implement appropriate design patterns to separate concerns and


improve maintainability.

8. Best-in-Class Libraries: Utilize libraries such as Retrofit for API calls, Picasso or Glide for
image loading, Room for local database, and LiveData for data flow management.

9. Clean UI: Design an intuitive and visually appealing user interface that adheres to modern
Android design guidelines.
10. Error Handling: Implement error handling for API calls, database operations, and network
connectivity.

Submission Guidelines:
1. Set up a GitHub/Gitlab repository for the project and commit your progress regularly.
2. Create a README file detailing the project's functionality, libraries used, and any special
instructions for running the app.
3. Ensure the app meets the assignment requirements and functions as described.
4. Submit the GitHub/Gitlab repository link within 3 to 4 days.

Notes:
- As the assignment emphasizes the use of best-in-class libraries and design patterns, focus
on clean code architecture and utilizing the suggested libraries effectively.

You might also like