{"id":23015625,"url":"https://github.com/rodrigo-dev7/nlw-ecoleta","last_synced_at":"2026-04-12T15:02:52.004Z","repository":{"id":38878651,"uuid":"269797572","full_name":"Rodrigo-dev7/nlw-ecoleta","owner":"Rodrigo-dev7","description":"Projeto construido durante a Next Level Week #01","archived":false,"fork":false,"pushed_at":"2023-01-11T02:59:43.000Z","size":5500,"stargazers_count":0,"open_issues_count":47,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-08T08:32:40.982Z","etag":null,"topics":["knex","mobile","nlw-ecoleta","nodejs","react-native","reactjs","server","web"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rodrigo-dev7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-05T22:39:53.000Z","updated_at":"2020-06-08T12:28:39.000Z","dependencies_parsed_at":"2023-02-09T00:03:11.426Z","dependency_job_id":null,"html_url":"https://github.com/Rodrigo-dev7/nlw-ecoleta","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rodrigo-dev7%2Fnlw-ecoleta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rodrigo-dev7%2Fnlw-ecoleta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rodrigo-dev7%2Fnlw-ecoleta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rodrigo-dev7%2Fnlw-ecoleta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rodrigo-dev7","download_url":"https://codeload.github.com/Rodrigo-dev7/nlw-ecoleta/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246864080,"owners_count":20846371,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["knex","mobile","nlw-ecoleta","nodejs","react-native","reactjs","server","web"],"created_at":"2024-12-15T11:12:46.204Z","updated_at":"2026-04-12T15:02:51.916Z","avatar_url":"https://github.com/Rodrigo-dev7.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projeto construido durante a Next Level Week #01\n\n\n\n\n\n\n🍃 O Projeto foi desenvolvido durante a semana internacional do Meio Ambiente, Ecoleta serve para conectar empresa ou entidades que coletam resíduos orgânicos ou inorgânicos as pessoas que precisam descarta esses reśiduos.\n\n- [x]  Ambiente de desenvolvimento\n    - [x]  Node.js \u0026 NPM\n    - [x]  VScode\n\n\n\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg   width=\"150\" height=\"170\" heigth=\"20px\" src=\"https://user-images.githubusercontent.com/60434681/84028576-59b54900-a967-11ea-8b7a-f11031e3295c.png?raw=true\" alt=\"Nodejs logo\"/\u003e\n\u003c/p\u003e\n\n\n\n\n# Back-End\n\n- [x]  Exlicando Conceitos\n\n- [x]  Rotas e recursos\n\n    ```\n    // Rotas: Endereço completo da requisição\n    // Recursos: Qual entidade estamos acessando no sistema\n    ```\n\n- [x]  Métodos HTTP\n\n    ```\n    // GET: Buscar uma ou mais informação do back-end\n    // POST: Criar uma nova informação no back-end\n    // PUT: Atualizar uma informação existente no bsck-end\n    // DELETE: Remove uma informação do back-end\n    ```\n\n- [x]  Tipos de parâmetros\n\n    ```\n    // Recursos Param: Parâmetros que vem na prôpria rota que identificam um recurso\n    // Query Param: Parâmetros que vem na prôpria rota  geralmente opcionais para filtros e paginação\n    // Request Body: Parâmetros para criação/atualização de  informações\n    ```\n\n- [x]  Qual banco de dados vamos utilizar?\n    - [x]  KNEX.JS\n\n        [Knex.js - A SQL Query Builder for Javascript](http://knexjs.org/)\n\n        ```tsx\n        Execute esses dois comandos abaixo para criar seu banco\n\n        // knex:migrate\n        // knex:seed\n        ```\n\n- [x]  Identificando entidades da nossa aplicação\n    - [x]  point  (Pontos de coletas)\n        - [x]  image\n        - [x]  name\n        - [x]  email\n        - [x]  whatsapp\n        - [x]  latitude\n        - [x]  longitude\n        - [x]  city\n        - [x]  uf\n    - [x]  items (Relacionamentos dos itens que um ponto coleta)\n        - [x]  point_id\n        - [x]  item_id\n\n- [x]  Funcionalidades  da aplicação\n    - [x]  Cadastro do ponto de coleta\n    - [x]  Lista do itens de coleta\n    - [x]  Listar pontos(filtros por estado/cidade/items)\n    - [x]  Listar um ponto de coleta especifico\n- [x]  Adicionado CORS\n\n\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg    src=\"https://user-images.githubusercontent.com/60434681/84029786-591db200-a969-11ea-992b-c760347c1dbb.png?raw=true\" alt=\"React logo\"/\u003e\n\u003c/p\u003e\n\n\n# Front-End\n\n- [x]  Explicando conceitos\n    - [x]  JSX\n\n        ```markdown\n        Quando o código HTML é integrado dentro do JavaScript.\n        ```\n\n    - [x]  Components (Header)\n\n        ```markdown\n        Um componente no React é basicamente uma função que retorna HTML,\n         podendo retorna funcionalidade JavaScript e CSS.\n        ```\n\n    - [x]  Propriedades\n\n        ```markdown\n        São atributos repassados de um componente pai para o filho.\n        ```\n\n    - [x]  Estado e imutabilidades\n\n        ```markdown\n        Trata-se de uma informação a ser mantida pelo componente. \n        Toda vez que o estado é alterado, o componente faz a renderização \n        novamente exibindo as novas informações em tela.\n        ```\n\n### Aplicação Ecoleta\n\n- Home\n![home](https://user-images.githubusercontent.com/60434681/84028374-f7f4df00-a966-11ea-9ef6-cddde1061d76.png)\n\n- Cadastro\n\n\n![cadastro](https://user-images.githubusercontent.com/60434681/84028362-f3c8c180-a966-11ea-9b66-5888ddc3fee5.png)\n\n- Mapa \u0026 itens\n\n![map](https://user-images.githubusercontent.com/60434681/84028382-faefcf80-a966-11ea-8edd-bd0b0b8a1834.png)\n\n\n\n- [x]  Buscando dados de cidades do IBGE\n\n    [API de localidades](https://servicodados.ibge.gov.br/api/docs/localidades)\n\n    ```markdown\n    1º API - Estados: https://servicodados.ibge.gov.br/api/v1/localidades/estados\n    2º API - Municiopios: https://servicodados.ibge.gov.br/api/v1/localidades/estados/{UF}/municipios\n    ```\n\n    - [x]  Cadastro de pontos de coletas da API\n\n\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg   width=\"200\" height=\"140\" src=\"https://user-images.githubusercontent.com/60434681/84029797-5e7afc80-a969-11ea-8d42-2b8672f1f89b.png?raw=true\" alt=\"Reacr native logo\"/\u003e\n\u003c/p\u003e\n\n\n\n# Mobile\n\n## Expo\n\n    \n\n[Introduction to Expo](https://docs.expo.io/)\n\n- Com as ferramentas, serviços e React da Expo, você pode criar, implantar e iterar rapidamente em aplicativos nativos do Android, iOS e da web a partir da mesma base de código JavaScript.\n\n- [x]  Instalar Expo\n\n    ```markdown\n    // Instalar o expo de formar global na sua maquina.\n    // \"npm install expo-cli\"\n    ```\n\n- [x]  Criar projeto com Expo\n\n    ```markdown\n    //  expo init (nome do prjeto)\n    ```\n\n- [x]  Diferenças de React Native para ReactJS\n    - [x]  Elementos\n\n        ```tsx\n        // REACT NATIVE\n        \u003cView\u003e\n        \t\u003cText\u003eHeelo World\u003c/Text\u003e\n        \u003c/View\u003e\n\n        // REACTJS\n\n        \u003cdiv\u003e\n        \t\u003ch1\u003eHello World\u003c/h1\u003e\n        \u003c/div\u003e\n        ```\n\n    - [x]  Estilização\n\n        ```tsx\n        import React from 'react';\n        import { StyleSheet, Text, View } from 'react-native';\n\n        export default function App() {\n          return (\n            \u003cView style={styles.container}\u003e\n              \u003cText\u003eHello World!\u003c/Text\u003e\n            \u003c/View\u003e\n          );\n        }\n\n        const styles = StyleSheet.create({\n          container: {\n            flex: 1,\n            backgroundColor: '#fff',\n            alignItems: 'center',\n            justifyContent: 'center',\n          },\n        });\n        ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frodrigo-dev7%2Fnlw-ecoleta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frodrigo-dev7%2Fnlw-ecoleta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frodrigo-dev7%2Fnlw-ecoleta/lists"}