/E-coleta

Projeto construído durante a Next Level Week 1.0 da Rocketseat.

Primary LanguageTypeScript

NextLevelWeek

Repository size GitHub language count Made by Jonathan Rehem GitHub last commit License

Projeto Ecoleta

capa Projeto desenvolvido durante a primeira NextLevelWeek da Rocketseat para aplicar os conceitos de typescript, Node.js, ReactJS e React Native.

Trata-se de uma aplicação completa (backend, frontend e mobile) para atender a demanda de logistica da coleta de resíduos. Em outras palavras , em homenagem à semana internacional do meio ambiente que coincidiu com o período da realização da Next Level Week 1.0.

Começando  |   Instalação  |   Execução  |   Tecnologias  |   Preview  |   Licença

Começando

As instruções a seguir são para fornecer uma cópia deste projeto que poderá ser executada na sua máquina local para fins de desenvolvimento e teste.

Pré Requisitos

  • É necessário que você tenha o Node.js instalado em sua máquina.
  • Para a aplicação Mobile é necessário instalar o pacote expo em sua máquina

Instalação

Clonando este repositório em sua máquina local e acessaando a pasta do projeto:

git clone https://github.com/90sRehem/E-coleta.git
cd E-coleta

Backend

Instalando as dependências do backend da aplicação:

cd backend
npm install

Frontend

Instalando as dependências do frontend da aplicação:

cd frontend
npm install

Mobile

Instalando as dependências da aplicação mobile:

cd mobile
npm install

Execução

Toda a aplicação pode ser inicializada em ambiente de desenvolvimento com facilidade, seguindo as instruções abaixo:

Backend

A primeira parte que deve ser executada no ambiente de desenvolvimento é o servidor node.js.

Certifique-se de que está dentro da pasta backend do projeto em seu terminal e em seguida, execute o comando abaixo para inicializá-lo:

npm start

Frontend

Este é o site construído utilizando o framework ReactJS criada pelo Facebook, onde os pontos de coleta serão cadastrados. É necessário que o backend já esteja operacional.

Certifique-se de que está dentro da pasta web do projeto em seu terminal e em seguida, execute o comando abaixo para inicializá-lo:

npm start

Mobile

Nesta parte você irá inicializar a aplicação mobile, construída utilizando o framework React Native, também criado pelo Facebook, onde os pontos de coleta podem ser consultados por cidade. Esta parte funciona independente da parte web, porém é necessário que o backend já esteja operacional.

Certifique-se de que está dentro da pasta mobile do projeto em seu terminal e em seguida, execute o comando abaixo para inicializá-lo:

npm start

Após o projeto mobile inicializar, será exibido um QRCode no terminal e uma aba do seu navegador irá carregar o Metro Bundler. Neste momento você precisará instalar em seu dispositivo móvel, um aplicativoo chamado Expo. Ele está disponível nas lojas de aplicativos dos respectivos OS:

Abra em seu smartphone o aplicativo Expo e escaneie o código de barras exibido na inicialização do projeto.

Tecnologias

  • Node.js - Usado para construir o backend (webservice REST) do projeto.
  • express - Framework Web utilizado no backend.
  • knex.js - ORM usado no backend para auxiliar no versionamento do banco de dados.
  • salite3 - Banco de dados utilizado no backend para percistência dos dados.
  • React - Usado para construir o frontend Web (website).
  • React Native - Usado para construir a aplicação Mobile multiplataforma.
  • expo - Usado para facilitar o desenvolvimento com React Native.
  • typescript - Usado para melhorar a integridade do código final e auxiliar o desenvolvimento em equipe.

Confira a lista completa de tecnologias utilizadas no arquivo package.json, presente na pasta raiz de cada parte do projeto.

Preview

Olha só como ficou:

90sRehem/E-coleta

A API implementada no backend não possui interface gráfica própria. Para ver como ficou, confira o código aqui no repositório.

Licença

Este projeto foi desenvovido sob a licença MIT. Veja o LICENSE para detalhes.

Feito com ♥ por Jonathan Rehem