/Happy-Project

Projeto de aplicação web e mobile — utilizando Node.js, React e React-Native — com o intuito de conectar pessoas a casas de acolhimento institucionais.

Primary LanguageTypeScriptMIT LicenseMIT

👦 NextLevelWeek 3.0 👧

Programing languages count Repository size Last commit on GitHub Author GitHub license



💻 Sobre o projeto

Informações gerais

Happy é uma aplicação web e mobile que facilita a conexão de pessoas a casas de acolhimento institucionais.

É uma aplicação que pode ser customizada para cada cidade e possui uso bastante simples: cadastrar orfanatos e possibilitar que outras pessoas saibam se existe alguma casa de acolhimento próximo a casa dela em que ela possa visitar, saber o que pode e não levar e seu horário de funcionamento.

Projeto desenvolvido na trilha OmniStack da Next Level Week, organizada pela Rocketseat.

Informações técnicas

No React, toda interface é criada de maneira mais flexível. Uma das coisas mais importantes que o React oferece é a facilidade durante a construção da SPA (Single-Page Application). SPA é uma aplicação em que nós conseguimos alterar o conteúdo de uma página sem precisar carregá-la do zero toda vez que o usuário navega de uma tela para outra. Isso é um conceito muito mais fluido e que traz uma melhor experiência para quem utiliza.

Ademais, essa é uma aplicação desenvolvida utilizando do conceito de API RESTful, permitindo que as aplicações web e mobile se comuniquem facilmente.

Nela também é possível manter o banco de dados sincronizado mesmo com múltiplas pessoas o alterando simultaneamente, isso é possível através do uso de migrations a partir do TypeORM. Essas migrations permitem que a cada vez que alguém faça uma alteração, como criar uma tabela ou deletar algum dado, seja criado um arquivo com instruções do que precisa ser feito para que, caso uma pessoa faça uso do seu código, ela só precise executar um comando (yarn typeorm migration:run), então, a API saberá exatamente o que precisa ser feito no banco de dados da pessoa e executará as operações necessárias. A pessoa também tem como saber quais migrations já foram executadas.

Por último, toda esta aplicação está sobre o padrão de arquitetura de software MVC (Model-View-Controller).


🚀 Tecnologias utilizadas

  • Typescript
  • NodeJS
  • React e React Native
  • Expo
  • Express
  • Cors
  • Leaflet
  • Multer
  • SQLite
  • TypeORM
  • Yup

🎨 Layout

Você pode verificar o layout completo dos projetos web e mobile nos links abaixo:


💥 Como baixar e executar o projeto

Pré-requisitos

  • Possuir o Node.js instalado no computador;
  • Possuir o Git instalado e configurado no computador;
  • Possuir um gerenciador de pacotes, seja o Yarn ou npm.

Clonando o repositório

    # Clone o repositório
    $ git clone https://github.com/GabrielReira/Happy-Project.git
    # Entre no diretório
    $ cd happy-project

Executando a API 🧠

    # Acesse o diretório do servidor
    $ cd server
    # Instale as dependências do projeto
    $ yarn install
    # Inicie a API
    $ yarn dev

Executando o projeto Web 💻

    # Acesse o diretório da web
    $ cd web
    # Instale as dependências do projeto
    $ yarn install
    # Inicie a aplicação Web
    $ yarn start

Executando o projeto Mobile 📱

Primeiramente, é necessário que você instale em seu celular o aplicativo Expo ou Expo Client. Obs.: para saber como emular esse aplicativo no seu computador veja este vídeo.

    # Instale o Expo CLI na sua máquina
    $ yarn global add expo-cli
    # Acessar o diretório do mobile
    $ cd mobile
    # Instale as dependências do projeto
    $ yarn install
    # Inicie a aplicação Mobile
    $ yarn start

Após a execução deste último comando, será aberta uma página no seu navegador com um QR Code, basta ler esse código com sua câmera do celular que você será direcionado para o aplicativo do Expo.


📜 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Por Gabriel Reira