# The Fellowship App

The fellowship app is a private network with focus on connecting ministries internally, on a safe controlled space which is tailored for the church.

This app is a native client for both android and iOS platforms, based on react native technology.

## Setting up a dev environment 

To develop applications with Expo (react native), you need two tools. A command-line tool called Expo CLI to serve your project, and a mobile client app called Expo Go to open the project on Android and iOS platforms. [Ref](https://docs.expo.dev/get-started/installation/)

Expo and React Native are both tools that runs on Node.js, so having Node.js installed in your computer is the first step (12.13.0 < 15.0.0m is preferred by expo).

Once you have Node.js and NPM (which comes with it), you can check expo is running properly using the following code:

~~~
npx expo -h
~~~

Then you can follow this instructions

1. Clone this repository and open it in the command line.
2. Install dependencies `npm i`
3. Run the expo server `npx expo start`
4. On your phone with the Expo Go app, use the camera tool and point it to the QR code.
5. Start developing.

## Getting started

App.js is the entry point of the app, on which navigation is defined. In the Views folder you can find the code for the main views, while the components are in the components folder (reusable components). 
The i18nMessages.js file has the current internalization strings (WIP).
In the context folder we have a global state that is used to mostly manage the state of the current viewer, using Valtio.
And the API.js has all the functions for the API endpoints provided by the backend.

## Contributing

Contributions are welcome and appreciate it. Submit your pull requests, with a clear description of the change introduced.

