Skip to content

Latest commit

 

History

History
141 lines (81 loc) · 3.38 KB

README.md

File metadata and controls

141 lines (81 loc) · 3.38 KB

Summary

Introduction

BeTheHero

BeTheHero is a platform where NGOs can request currency support, and anyone can help by donating money to their cases.

I started this full-stack project during Semana Omnistack 11 in 2020 to get started on my studies on ExpressJs, React, and React Native. Due to the fact this project was developed in 2020, some features may not work as expected.

BeTheHero

BeTheHero was set up with the following technologies:

  • server api: ExpressJS
  • database: MongoDB
  • web interface: ReactJS
  • mobile: React Native through Expo
  • validations: Express Validator
  • tests: Supertest

How to run

  • ⚠️ You must run the server module in the background so you can use both the web and the app.

  • Optional: See the Postman project.

Server

Note: make sure your NodeJS is updated.

First, install the dependencies in package.json.

> npm install

Now you need to create an account in MongoDB Atlas, create a project named 'BeTheHero', a database named 'bethehero', and then connect to MongoDB through the URI in ./server/src/database/index.js.

Now create a file named .env based on .env.example and insert your values.

Now you're able to run the server.

DEVELOPMENT: > npm run dev

Now your server application must be running at the selected address. You can now execute web and mobile applications.

Web

First, install the dependencies in package.json.

> npm install

Now you're you can run the web application.

> npm start

Now the development server will run, and the addresses of your application will appear on Terminal. The website will also open automatically in your main browser.

Mobile

First, install the dependencies in package.json.

> npm install

  • ⚠️ IMPORTANT: you'll have to edit api.js file and insert your computer's ID in the baseURL attribute (line 8).

Now you can run the app.

> npm start

Now the Expo DevTools will open in your browser as well as the Metro Bundler. There, you'll be able to choose where you'll run your application. You can choose between:

  • Android device or emulator
  • iOS device or emulator (emulator available only for macOS)
  • Web browser (emulated)

if any errors occurrs, try to run the following command:

> npm audit fix

that the packages will be fixed.

Interface

Web interface

Login screen

login

Register NGO

user-register

Register Incident

case-register

Homepage

homepage


Mobile interface

Home screen

home

Case screen

case

Texting through WhatsApp

whatsapp-message

Texting through E-mail

email-message


Author

Made by Arthur Diniz da Luz.