Be The Hero - OmniStack Week 11.0
Project provided by Rocket Seat to learn backend, frontend and mobile development employing React JS, React Native and Express.
This project aims to create a web application and mobile web app to help Charities find people who want to donate for incidents registered on the platform.
The web application is intended for the use of charities, where is possible to:
- Register yourself as a charity institution with name, email, whatsapp number, city and province/state, generating an unique ID used to login.
- Register a new incident related to the institution, having name, description and value of helping.
The mobile web app is indended for users that want to help charities, where is possible to:
- List all available incidents of all charities.
- Choose and read details about an incident.
- Get in touch with the charity, either registered email or whatsapp.
๐ How to run
Open your terminal in the folder you want to clone the project
# Clone this repo
git clone https://github.com/LorranSutter/Be-The-Hero.git
# Go to the project
cd Be-The-Hero
# Go to each folder and install dependencies
cd backend
npm install
cd ../frontend
npm install
cd ../mobile
npm install
Now you will need two opened terminals to run the project. One for the backend and another one for the frontend or mobile.
Backend will run on http://localhost:3333/
Frontend will run on http://localhost:3000/
Mobile will run on http://localhost:19002/
# Go to backend
cd backend
# Run the project
npm start
## In the another terminal ##
# Go to frontend
cd frontend
# Run the project
npm start
For the mobile web app keep backend running and do the following:
# Go to mobile
cd mobile
# Run the project
expo start
This will start expo CLI on your browser. A QR code will appear on your screen and in terminal. You can scan this QR code with Expo app to see the application running in your phone.
๐ Resources and technologies ๐ป
- Node.js - executes JS scripts in server side
- Express.js - web application framework
- ReactJS - frontend library
- React Navigation - routing and navigation for react apps
- React Native - framework for mobile development
- Expo - tool for helping mobile development with react native
- Knex - query builder
- Sqlite - simple SQL database engine
- Celebrate - middleware to validate data
- Jest - library for tests
- Supertest - HTTP assertions provider