Skip to content

alalbuquerque22/Ecoleta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

♻️ Ecoleta é um projeto Open Source desenvolvido na semana Next Level Week (1.0) da Rocketseat utilizando as tecnologias TypeScript, Node, React e React Native.

Banner

🚀 OBJETIVO

O projeto tem como finalidade estabelecer uma conexão entre empresas e/ou entidades que coletam resíduos (orgânicos e inorgânicos) às pessoas e/ou entidades que necessitam constantemente descartar esses resíduos. Solucionando um grande problema recorrente que é o descarte inadequado do lixo, facilitando o processo de recliclagem e reutilização.

💻 TECNOLOGIAS

Website (React + typescript)

  • React Router Dom
  • React Icons
  • Axios
  • Leaflet
  • React Leaflet
  • React Dropzone

* Veja o arquivo package.json

Server (NodeJS + TypeScript])

  • Express
  • CORS
  • KnexJS
  • SQLite
  • ts-node
  • dotENV
  • Multer
  • Celebrate
  • Joi

* Veja o arquivo package.json

Mobile (React Native + typescript)

  • Expo
  • Expo Google Fonts
  • React Navigation
  • React Native Maps
  • Expo Constants
  • React Native SVG
  • Axios
  • Expo Location
  • Expo Mail Composer

* Veja o arquivo package.json

Utilitários

  • Protótipo: FigmaProtótipo (Ecoleta)
  • API: IBGE API
  • Maps: Leaflet
  • Editor: Visual Studio Code
  • Teste de API: Insomnia
  • Ícones: Feather Icons, Font Awesome
  • Fontes: Ubuntu, Roboto

🍷 COMO UTILIZAR

Configurações Iniciais

Primeiro, você precisa ter o NodeJS instalado na sua máquina.

Se você estiver utilizando o Linux, você pode optar por instalar o Node através do gerênciador de versões [asdf] para facilitar o processo de mudança da versão do Node, quando for necessário.

Você pode optar também por utilizar o yarn no lugar do npm. Você pode instalar clicando nesse [link][yarn], ou através do [asdf].

Após ter o Node instalado, instale as dependências do React e React Native (Expo) de forma global, utilizando os comandos:

# React:
$ npm install create-react-app -g

# Expo (React Native):
$ npm install -g expo-cli 

Você precisa renomear o arquivo .env-example para .env e inserir as informações que condizem com o seu host:

$ mv .env-example .env

Instale as dependências contidas nos arquivos package.json que se encontram na raíz do repositório (para o gerenciamento de commits), no diretório do server, no diretório do website e no diretório mobile. Para instalar as dependências, basta abrir o terminal no diretório e digitar o comando:

$ npm install

# ou
$ yarn

Exemplos:

# Instalando as dependências do commitlint:
$ cd ./ecoleta
$ npm install

# Instalando as dependências do server:
$ cd ./sources/server
$ npm install

# Instalando as dependências do website:
$ cd ./sources/website
$ npm install

# Instalando as dependências do mobile:
$ cd ./sources/mobile
$ npm install

Utilizando o Server

# Abrindo o terminal no diretório do servidor:
$ cd ./sources/server

# Executando a aplicação em modo de desenvolvimento:
$ npm run dev

# Instanciando o banco de dados:
$ npm run knex:migrate

# Povoando o banco de dados (seeds):
$ npm run knex:seed

Veja a parte de scripts {} do arquivo package.json para saber quais scripts estão disponíveis.

Utilizando o Website

# Abrindo o terminal no diretório do website:
$ cd ./sources/website

# Executando o website no modo de desenvolvimento:
$ npm run start

Se o browser não abrir automaticamente, acesse: http://localhost:3000.

Utilizando o Mobile

Instale o aplicativo Expo no seu smartphone.

# Abrindo o terminal no diretório do mobile:
$ cd ./sources/mobile

# Executando o mobile no modo de desenvolvimento:
$ npm run start

Agora, abra o aplicativo do expo e no modo LAN faça o scan do QRCode.

Se tiver algum problema para executar o aplicativo nesse modo, tente desabilitar o firewall da sua máquina.

Se tiver algum problema com as fontes, utilize o comando:

$ expo install expo-font @expo-google-fonts/ubuntu @expo-google-fonts/roboto

* Lembre de inserir no arquivo .env o IP exato que foi gerado pelo seu mobile após utilizar o comando npm run start.

📚 REFERÊNCIAS

About

Projeto em Typescript que conecta pontos de reciclagem com usuarios interessados em reciclar

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors