This is a new React Native project, bootstrapped using @react-native-community/cli.
Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.
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 npm
npm start
# OR using Yarn
yarn startLet 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:
# using npm
npm run android
# OR using Yarn
yarn android# using npm
npm run ios
# OR using Yarn
yarn iosIf 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.
This is one way to run your app β you can also run it directly from within Android Studio and Xcode respectively.
Now that you have successfully run the app, let's modify it.
-
Open
App.tsxin your text editor of choice and edit some lines. -
For Android: Press the R key twice or select "Reload" from the Developer Menu (Ctrl + M (on Window and Linux) or Cmd β + M (on macOS)) to see your changes!
For iOS: Hit Cmd β + R in your iOS Simulator to reload the app and see your changes!
You've successfully run and modified your React Native App. π₯³
This document provides a comprehensive overview of our mobile application. The goal is to give a clear understanding of the app's key features and functionality, with illustrative screenshots to guide users through the various sections.
Our application is designed to simplify community service requests. On the home screen, users can either log in if they already have an account or create a new one.

Users can log in using their phone number and password. The interface is user-friendly, offering quick access to the personal space. Error messages are displayed in case of incorrect credentials, guiding the user to re-enter the correct information.

Creating a new account is straightforward. Users enter their first name, last name, phone number, and password. Real-time validation checks the input, providing instant feedback with error messages if necessary, ensuring a smooth and error-free sign-up process.
After the initial sign-up, users are prompted to provide additional details like their city and preferred request difficulty level. This personalization ensures that users receive relevant requests tailored to their location and preferences.
The main page of the application is where users spend most of their time. Here, they can view and filter new requests according to their preferences. The interface is designed to be intuitive, presenting only essential information and allowing users to express interest in requests directly from the feed.
Users can create new requests via an easy-to-navigate form. The form includes fields to capture all necessary details. In case of errors, clear instructions and error messages help users correct their inputs, making the process efficient.
This section allows users to manage their existing requests. They can edit, delete, or update the status of their requests. The editing interface pre-fills the form with existing data, making it easy to update requests.
Users can view and manage their sent requests in this section. They can check the status (pending, accepted, or rejected) and perform actions like canceling or deleting requests. Accepted requests offer direct contact with the relevant user to coordinate details.
In the received requests section, users can manage incoming requests, deciding whether to accept or reject offers of help. Accepting a request updates its status and notifies all involved parties, enabling them to coordinate further. Rejections also update the request status, clearly communicating the decision.
The account section allows users to view and manage their personal information, such as name, phone number, city, and preferred request difficulty level. This section also provides an option to log out, ensuring account security and privacy.