Ecoleta - a conexão entre empresas e entidades de coleta de resíduos (orgânicos e inorgânicos), providenciando um descarte ecológico e facilitando processos de reutilização e reciclagem.
Tecnologias | Ferramentas | Rodando a aplicação | Como contribuir | Licença
FRONT-END (React + TypeScript)
- Axios: requisições pro back-end
- React Router Dom: sistema de roteamento para troca de páginas
- React Leaflet e Leaflet: integração de mapas com o projeto
- React Dropzone: “caixa” para upload de arquivos
- React Icons: fontes de ícones famosas
BACK-END (NodeJS + TypeScript)
- SQLite3: banco de dados SQL embutido
- Ts-node: compreensão do TypeScript pelo Node
- KnexJS: banco de dados SQL com linguagem unificada para todos os bancos
- Express: micro framework para lidar com rotas
- CORS: definição na API de quais endereços externos (URL web) vão ter acesso a aplicação
- Multer: extensão para upload de imagens
- Celebrate: validação de entrada de dados integrada com express através do @hapi/Joy
- Joi: intelisense com TypeScript do celebrate
MOBILE (React Native + TypeScript)
- Expo: plataforma para criação de aplicativos nativos universais para Android e iOS
- Axios: cliente http para requisições a API
- React Navigation: navegação entre rotas e botões
- React Native Maps: extensão para utilização de mapas
- React Native SVG: componente para svgs e vetores
- Expo Location, Expo Mail Composer e Expo Google Fonts: acesso a geolocalização do usuário como ponto inicial no mapa, ao envio de e-mails e a fontes do google
- Layout: Figma
- API: IBGE API → API de UFs, API de Municípios
- API Tests: Insomnia
- Ícones: Feather Icons, Font Awesome
- Fontes: Roboto, Ubuntu
- Maps: Leaflet
- Editor: Visual Studio Code → Extensions: SQLite3
Requisitos: Git, Node.js, Editor (VSCode)
# Encontre o seu endereço IPv4
$ ipconfig
# Clone este repositório
$ git clone https://github.com/jubrito/ecoleta
# Acesse a pasta do projeto no cmd/terminal
$ cd ecoleta
Altere a constante IPAddress do arquivo UserIPAddress.ts no diretório raíz substituindo o endereço de IPv4 exemplo para o da sua máquina.
# Acesse a pasta do server no cmd/terminal
$ cd server
# Instale as dependências do server
$ npm install
# Execute a aplicação em modo de desenvolvimento
$ npm run dev
Acesse http://localhost:3333 (o servidor inciará na porta:3333)
# Instanciando o banco de dados:
$ npm run knex:migrate
# Povoando o banco de dados (seeds):
$ npm run knex:seed
# Acesse a pasta do website no cmd/terminal
$ cd web
# Instalando as dependências do website
$ npm install
# Execute a aplicação em modo de desenvolvimento
$ npm run start
Acesse http://localhost:3000 - (a aplicação será aberta na porta:3000)
Instale o aplicativo Expo no seu celular
Instale globalmente a dependência Expo-cli
# Executar comandos do Expo pelo terminal:
$ npm install -g expo-cli
# Acesse a pasta do mobile no cmd/terminal
$ cd mobile
Altere a constante IPAddress do arquivo api.ts em mobile substituindo o endereço de IPv4 exemplo para o da sua máquina.
# Execute o em modo de desenvolvimento:
$ npm run start
Abra o aplicativo do Expo no modo LAN, faça o scan do QRCode e abra o projeto no seu smartphone.
- Faça um fork do repositório;
- Acesse sua página GitHub e faça um clone do seu fork;
- Crie uma branch com o nome da sua feature:
git chechout -b feature/minhaFeature
; - Realize e salve as alterações;
- Commite suas alterações de acordo com as convenções de commit,
- Faça um push para a sua branch:
git push origin feature/minhaFeature
; - Abra um pull request no repositório onde o fork foi feito. Após o merge suas alterações irão fazer parte do projeto;
- Após o merge da sua pull request for feito, sua branch poderá ser deletada.
Licença MIT → LICENSE
Projeto Open Source desenvolvido durante a NLW - Next Level Week, RocketSeat