Este projeto foi desenvolvido com as seguintes tecnologias
O Be The Hero é um projeto criado pela Rocketseat que visa conectar pessoas dispostas a ajudar ONGs.
-
Clone o repositório
gt clone https://github.com/pablomagalhaes/bethehero
-
Back-end
cd backend
npm install
npm start
`
-
Front-end
cd frontend
npm install
npm start
`
-
Mobile
cd mobile
npm install
npm start
- Login da ONG
- Logout da ONG
- Cadastro de ONG
- Cadastrar novos casos
- Deletar casos
- Listar casos específicos de uma ONG
- Listar todos os casos
- Entrar em contato com a ONG
-
npm init -y
-> criar arquivos -
npm install express
-
npm install nodemon -D
(apenas para o desenvolvimento) -
Dentro de
package.json
adicionar:"scripts": { "start": "nodemon src/index.js" },
- Dessa forma, basta utilizar
npm start
para iniciar o projeto.
npm install cors
-
Iniciar projeto ->
npx create-react-app frontend
-
startar projeto ->
npm start
-
intalar pacote de icons ->
npm install react-icons
-
Rotas com ReactJS ->
npm install react-router-dom
-
Operações com a API ->
npm install axios
-
npm install @react-navigation/native
- rotas -
expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view
-
npm install @react-navigation/stack
-
expo install expo-constants
-
expo install expo-mail-composer
-
npm install axios = conexão com api
-
npm install intl
O banco de dados utilizado na aplicação é o sqlite3, por isso é necessário aplicar o knex.
-
npm install knex
-
npm install sqlite3
-
npx knex init
-> criar arquivo -
Dentro do arquivo
knexfile.js
-> Alterar o "filename"development: { client: 'sqlite3', connection: { filename: './src/database/db.sqlite' }, },
-
Adicionar Migrations dentro do arquivo
knexfile.js
development: {
client: 'sqlite3',
connection: {
filename: './src/database/db.sqlite'
},
migrations: {
directory: './src/database/migrations'
},
},
- Criar migrations ->
npx knex migrate:make create_ongs
- Executar migrations ->
npx knex migrate:latest
- Adicionar useNullAsDefault dentro de
development
no arquivoknexfile.js
useNullAsDefault: true,
- GET: Buscar/Listar uma informação do back-end
- POST: Criar uma informação no back-end
- PUT: Alterar uma informação no back-end
- DELETE: Deletar uma informação no back-end
- Query Params: Parâmetros nomeados enviados na rota após "?" (Filtros, paginação).
const params = request.query
- Route Params: Parâmetros utilizados para identificar recursos.
const params = request.params
- Request Body: Corpo da requisição, utilizado para criar ou alterar recursos.
const body = request.body
-
ReactJS:
{Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(incident.value)}
-
React Native:
- Dentro do App.js:
import 'intl'; import 'intl/locale-data/jsonp/pt-BR';
- No arquivo onde será formatado o valor:
{Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(incident.value)}
-
- Faça um Fork desse repositório,
- Crie uma branch com a sua feature:
git checkout -b my-feature
- Commit suas mudanças:
git commit -m 'feat: My new feature'
- Push a sua branch:
git push origin my-feature
- As aulas foram ministradas pelo mestre Jedi Diego Fernandes.
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.