This is a simple Contact Manager application built with React Native. It allows users to view, add, edit, and manage their contacts. The app is designed with performance and accessibility in mind.
- Contact List: View all your contacts in a sorted list. Favorite contacts appear at the top.
- Search: Quickly find contacts by name, email, or company.
- Add/Edit Contacts: A simple form to add new contacts or update existing ones, with built-in validation.
- Contact Details: A detailed view of each contact with quick actions to call, message, or email.
- Favorites: Mark your most important contacts as favorites.
- Data Persistence: Contacts are saved to the device's local storage.
- React Native: For building the cross-platform mobile application.
- React Navigation: For handling navigation between screens.
- React Context API: For global state management.
- AsyncStorage: For persisting contact data locally.
- Node.js (LTS version recommended)
- Yarn or npm
- A development environment set up for React Native. Follow the official React Native Environment Setup guide.
-
Clone the repository:
git clone "https://github.com/ReynardFM/Lab3-React-Native" cd ContactManagerApp
-
Install dependencies:
npm install # or yarn install
-
Start the Metro server:
npm start # or yarn start
-
Run on Android or iOS:
- For Android:
npm run android # or yarn android
- For iOS (on a Mac):
cd ios && pod install && cd .. npm run ios # or yarn ios
- For Android:
src/components
: Reusable components used throughout the app.src/data
: Static data and validation logic.src/screens
: The main screens of the application.src/styles
: Global styles and color definitions.src/utils
: Utility functions and theContactContext
.