A mobile app for managing contacts. The app should allow users to save contact details in a local database along with photos. Users should be able to view the contact list, modify/delete any contact, favorite/unfavorite contacts, and view a list of favorite contacts.
Use Case: User can see a list of contacts in ascending order by name.
Details:
- Screen has the title ‘Contact List’.
- List of contacts with contact name and photo in ascending order.
- 'Add' button at the bottom right of the screen to navigate to the 'Create New Contact' screen.
- Clicking on any contact navigates the user to the 'Update Contact' screen.
Use Case: User can add a new contact.
Details:
- Screen has the title ‘Add New Contact’.
- Input fields:
- Name of the person.
- Mobile phone number.
- Landline number.
- Take/Browse photo of the person.
- Favorite button to mark/unmark the contact as a favorite.
- Save button to save the contact details.
Use Case: User can update contact details.
Details:
- Screen has the title ‘Update Contact’ and displays details of selected contacts.
- Input fields:
- Name of the person.
- Mobile phone number.
- Landline number.
- Take/Browse photo of the person.
- Update button to update the contact details.
- Favorite button to mark/unmark the contact as a favorite.
- Delete button to delete the contact details.
Use Case: User can see a list of contacts marked as a favorite.
Details:
- Screen has the title ‘Favorite Contact List’.
- List of favorite contacts in ascending order.
Use Case: User can navigate to the contact list screen and favorite contact list screen.
Details:
- App will have a sliding drawer (using master-detail page) with two options: ‘Contact List Screen’ and ‘Favorite Contacts.’
- Clicking on any of these options will navigate the user to the corresponding screen.
- Use Expo for building and managing the project.
- Use of React Drawer Navigation for app navigation.
- Add a search input box to filter contacts based on the name.
- Use of local database for CRUD operations.
- Each contact in the list should be in a swiper item to show Update/delete button when swiped from the right side. You can use react-native-swipe-list-view or any other suitable library.
- Node.js installed on your machine.
- Expo installed globally.
- Java 17 : installed on your machine
- Expo Mobile App : make sure to download expo app in your mobile device.
-
Extract the contents of the zip file.
-
Open a terminal and change into the project directory:
cd path/to/contact-app
-
Install dependencies:
npm install
-
Running the App using Expo:
npx expo start -- --tunnel
-
Now open your expo app and scan the QR code and there you go!
Sample Images are given in the smaple-Images folder.