Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gsbenevides2/bethehero

Ajude ongs
https://github.com/gsbenevides2/bethehero

expo express javascript jest nodejs postgres react-native

Last synced: about 1 month ago
JSON representation

Ajude ongs

Awesome Lists containing this project

README

        



DevRadar












Projeto resultado da Semana OmniStack 11 da Rocketseat. Uma aplicação para ajudar as ongs na arrecadação de fundos.




Veja esse video demonstração!



👨‍💻 Tecnologias Utilizadas



  • BackEnd



    • NodeJS: É uma plataforma que permite utilizar o JavaScript para criar aplicações do lado do servidor (server-side).


    • Express: É um framework para Node.js que permite a criação de aplicações web.


    • Knex: É um query builder para Node.js que permite a criação de SQL queries utilizando JavaScript.


    • PostgreSQL: É um sistema gerenciador de banco de dados objeto relacional.


    • Jest: É um framework de teste em JavaScript.


    • Celebrate: É um middleware para validação de dados.


  • FrontEnd



    • ReactJS: É uma biblioteca JavaScript de código aberto com foco em criar interfaces de usuário em páginas web.


    • Axios: É um cliente HTTP baseado em Promises para fazer requisições.


    • React Router DOM: É uma biblioteca de roteamento.


  • Mobile



    • React Native: É uma biblioteca JavaScript de código aberto com foco em criar interfaces de usuário em páginas web.


    • Expo: É uma ferramenta utilizada no desenvolvimento mobile com React Native que permite o fácil acesso às API's nativas do dispositivo sem precisar instalar qualquer dependência ou alterar código nativo.

    • Expo Mail Composer: É uma ferramenta que permite o envio de e-mails.


    • Axios: É um cliente HTTP baseado em Promises para fazer requisições.


    • React Navigation: É uma biblioteca de roteamento.



📁 Estrutura de Pastas

🤖 Pasta BackEnd



Nessa pasta contem todo o código do servidor, que é reponsavel por fornecer ao front-end web e mobile os dados das ongs cadastradas e dos casos cadastrados por cada ong.

Acesso a API



A API está hospedada no Heroku e pode ser acessada através do link: https://google.gui.dev.br:3102. E o download de sua especificação usando o Insominia estão disponíveis no arquivo insomnia.json neste repositório.

Intalação



Você pode realizar a instação de duas maneiras:


1. Via Docker:


Execute o comando que está dentro do arquivo de shell script run_compose.sh na pasta backend.


Apos a execução desse comando o servidor estarar rodando na porta 3002.


2. Via NPM:


Execute o comando npm install na pasta backend para instalar todas as dependências.


Configure um arquivo .env na pasta backend com as variáveis de ambiente de acordo com o arquivo .env.example.


Por fim execute o comando npm start para iniciar o servidor.


Apos a execução desse comando o servidor estarar rodando na porta 3000.

🖥 Pasta FrontEnd



Nessa pasta contem todo o código do front-end web, que é reponsavel por fornecer a interface para o cadastro de ongs e casos.

Acesso a Aplicação



A aplicação está hospedada na Vercel e pode ser acessada através do link: https://be-the-hero.gui.dev.br.

Intalação



Execute o comando npm install na pasta frontend para instalar todas as dependências.


Apos a instalação das dependências execute o comando npm start para iniciar o servidor.


Apos a execução desse comando o servidor estarar rodando na porta 3000.

📱 Pasta Mobile



Nessa pasta contem todo o código do front-end mobile, que é reponsavel por fornecer a interface para o cadastro de ongs e casos.

Acesso a Aplicação


Por questões técnicas, o download da aplicação está disponível somente para android e fora da Google Play Store. Lembre-se de habilitar a instalação de aplicativos de fontes desconhecidas.Use o link para fazer download do APK.

Intalação



Execute o comando npm install na pasta mobile para instalar todas as dependências.


Apos a instalação das dependências execute o comando npm start para iniciar o metro bundler.


Baixe o aplicativo do Expo na Play Store ou App Store.


Abra o aplicativo do Expo e escaneie o QR Code gerado pelo metro bundler.


Aguarde o carregamento do aplicativo.

🫶 Agradecimentos



  • Agradeço a Rocketseat por proporcionar essa espetacular experiência.

  • Agradeço especialmente seu CTO Diego Fernandes por proporcionar essa espetacular experiência. E também a todos que trabalham nessa empresa incrível e estiveram presentes no suporte do Discord durante a semana.

  • Agradeço ao Filipe Deschamps por sempre estar apoiando a comunidade de desenvolvimento.

🔗 Links


📃 Licença


Este projeto está sobre a licença MIT. Veja ela em: LICENSE.



Feito com ❤️ por gsbenevides2