A sample app for a contacts managment system. react native application that allows the user to add, delete, update the contact they want.
- Prepare Project Structuree, Dependecy Management, Build System, Linting System, and Application Configs.
- Build a navgiation stack map
- UI Breakdown to components (core components, navigation, layouts, pages)
- Build components library (core building blocks of the app - under
src/components
) - Build a styling system using
styled-system
(including theme and global styles - undersrc/styles
) - Add styling to core components
- Build screens components (responsible for common layouts between pages - under
src/screens
) - Build stacks of the app (under
src/stacks
) - Build hooks and utility functions (under
src/hooks
andsrc/utils
) - Add global state (using
Redux Toolkit
- undersrc/state
) - Add animations (using
RN Animated
) - [Coming Soon] Unit Tests and Mocks.
- [Coming Soon] Performance Optimization
- [Coming Soon] Add Security Layers
- Typescript
- React Native
- Styled System
- Redux Toolkit
Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.
# 1. clone repository
git clone https://github.com/OmarRamoun/contacts.git
# 2. change current directory
cd contacts
# 3. Install all Dependencies
yarn install
# 4. Build Icons
yarn icons
First, you will need to start Metro, the JavaScript bundler that ships with React Native.
To start Metro, run the following command from the root of your React Native project:
# using Yarn
yarn dev # check package.json for more info
Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:
yarn android
yarn ios
If everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.
👤 Omar Ramoun
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
Give a ⭐️ if you like this project!