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
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.
- É 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
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
Instalando as dependências do backend da aplicação:
cd backend
npm install
Instalando as dependências do frontend da aplicação:
cd frontend
npm install
Instalando as dependências da aplicação mobile:
cd mobile
npm install
Toda a aplicação pode ser inicializada em ambiente de desenvolvimento com facilidade, seguindo as instruções abaixo:
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
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
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:
- Expo na Google Play
- Expo Client na Apple Store
Abra em seu smartphone o aplicativo Expo e escaneie o código de barras exibido na inicialização do projeto.
- 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.
Olha só como ficou:
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.
Este projeto foi desenvovido sob a licença MIT. Veja o LICENSE para detalhes.
Feito com ♥ por Jonathan Rehem