/ecoleta-app

♻️ App Marketplace de coleta de residuos

Primary LanguageTypeScript

Frontend | Backend | Mobile

Linkedin - Heverson Damasceno Email - Heverson Damasceno

♻️ Ecoleta - 👨🏻‍🚀 nlw1

Projeto criado na primeira semana Next Level Week da 🚀 RocketSeat, utilizando as stacks: NodeJs, React, React Native . Aplicando o typeScript em todo o projeto, destacando as vantagens de usar uma tipagem estática no javascript e explorar o IntelliSense da IDE.

Configuração para rodar o projeto

  1. Abra o terminal.
  2. Faça um clone desse repositório rodando:
    git clone https://github.com/Heverson/ecolab-app.git;
  3. Entre em cada pasta (/web, /backend, /mobile) pelo terminal;
  4. Em cada pasta rode o comando yarn para instalar as dependências do projeto;
  5. Após isso poderá rodar:
    • Na pasta backend: yarn start para iniciar a aplicação. Lembrando que você precisa rodar as migrations e a seeds, para ter seus banco de dados preparado para a aplicação.
    • Na pasta web: yarn dev para iniciar a aplicação.
    • Na pasta mobile: yarn start para iniciar a aplicação. Lembrando que precisa ter o Expo instalado.

Backend

Para o backend em NodeJS utilizamos o framework ExpressJS junto com o (Query Builder) - knexJS.

Com o knexJS podemos criar as migrations de pontos e items de coleta para o banco de dados. Assim vamos ter nossas tabelas e dados do banco ao iniciar a aplicação, para isso rode os seguintes comandos:

  • yarn knex migrate:up
  • yarn knex seed:run

O Banco de dados usado foi o SQLite, pela rapidez do desenvolvimento durante a semana, e por estar rodando na máquina sem precisar de instalações relacionadas ao banco de dados. O que facilita para você rodar.

Frontend - /web

Com ReactJs utilizamos o serviço de mapa da LeafLet, para o usuário marcar os pontos de coleta e registrar a latitude e longitude.

Para upload da foto do estabelecimento de coleta utilizamos o component Dropzone, melhorando a usabilidade da aplicação.

Mobile

Para o mobile usamos o Expo que traz muitas facilidades para o desenvolvimento no React Native, como por exemplo utilização de fontes customizadas usando o Google Fonts, rodar o app em ambiente de desenvolvimento sem a necessidade de uma IDE para Android e outra para iOS.

Projeto criado por Heverson Damasceno, faz parte da NLW1 🚀 RocketSeat.