Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tgmarinho/README-ecoleta
🎁 Três modelos de README com o Projeto criados para o blog da @Rocketseat 🚀
https://github.com/tgmarinho/README-ecoleta
context-api express github joi nodejs react react-native react-router reactjs readme readme-template typescript
Last synced: about 13 hours ago
JSON representation
🎁 Três modelos de README com o Projeto criados para o blog da @Rocketseat 🚀
- Host: GitHub
- URL: https://github.com/tgmarinho/README-ecoleta
- Owner: tgmarinho
- License: mit
- Created: 2020-07-13T18:42:45.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T05:58:30.000Z (11 months ago)
- Last Synced: 2024-08-01T22:01:58.665Z (3 months ago)
- Topics: context-api, express, github, joi, nodejs, react, react-native, react-router, reactjs, readme, readme-template, typescript
- Language: TypeScript
- Homepage: https://blog.rocketseat.com.br/como-fazer-um-bom-readme/
- Size: 10.1 MB
- Stars: 221
- Watchers: 4
- Forks: 395
- Open Issues: 47
-
Metadata Files:
- Readme: README-en.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
♻️ ECOLETA
Your waste collection marketplace. We help the planet to be cleaner!
Status: Finished
About •
Features •
Layout •
How it works •
Tech Stack •
Contributors •
Author •
License## About
♻️ Ecoleta - is a way to connect companies and entities that collect organic and inorganic waste to people who need to dispose of their waste in an ecological way.
Project developed during ** NLW - Next Level Week ** offered by [Rocketseat](https://blog.rocketseat.com.br/primeira-next-level-week/). NLW is an online experience with lots of practical content, challenges and hacks where the content is available for a week.---
## Features
- [x] Companies or entities can register on the web platform by sending:
- [x] an image of the collection point
- [x] entity name, email and whatsapp
- [x] and the address so that it can appear on the map
- [x] in addition to selecting one or more collection items:
- lamps
- Batteries
- papers and cardboard
- electronic waste
- organic waste
- kitchen oil- [x] Users have access to the mobile application, where they can:
- [x] browse the map to see the registered institutions
- [x] contact the entity via E-mail or WhatsApp---
## Layout
The application layout is available on Figma:
### Mobile
### Web
---
## How it works
This project is divided into three parts:
1. Backend (server folder)
2. Frontend (web folder)
3. Mobile (mobile folder)Both Frontend and Mobile need the Backend to be running to work.
### Pre-requisites
Before you begin, you will need to have the following tools installed on your machine:
[Git] (https://git-scm.com), [Node.js] (https://nodejs.org/en/).
In addition, it is good to have an editor to work with the code like [VSCode] (https://code.visualstudio.com/)#### Rodando o Backend (servidor)
```bash
# Clone this repository
$ git clone [email protected]:tgmarinho/README-ecoleta.git# Access the project folder cmd/terminal
$ cd README-ecoleta# go to the server folder
$ cd server# install the dependencies
$ npm install# Run the application in development mode
$ npm run dev:server# The server will start at port: 3333 - go to http://localhost:3333
```
#### Running the web application (Frontend)
```bash
# Clone this repository
$ git clone [email protected]: tgmarinho / README-ecoleta.git# Access the project folder in your terminal
$ cd README-ecoleta# Go to the Front End application folder
$ cd web# Install the dependencies
$ npm install# Run the application in development mode
$ npm run start# The application will open on the port: 3000 - go to http://localhost:3000
```
---
## Tech Stack
The following tools were used in the construction of the project:
#### **Website** ([React](https://reactjs.org/) + [TypeScript](https://www.typescriptlang.org/))
- **[React Router Dom](https://github.com/ReactTraining/react-router/tree/master/packages/react-router-dom)**
- **[React Icons](https://react-icons.github.io/react-icons/)**
- **[Axios](https://github.com/axios/axios)**
- **[Leaflet](https://react-leaflet.js.org/en/)**
- **[React Leaflet](https://react-leaflet.js.org/)**
- **[React Dropzone](https://github.com/react-dropzone/react-dropzone)**> See the file [package.json](https://github.com/tgmarinho/README-ecoleta/blob/master/web/package.json)
#### [](https://github.com/tgmarinho/Ecoleta#server-nodejs--typescript)**Server** ([NodeJS](https://nodejs.org/en/) + [TypeScript](https://www.typescriptlang.org/))
- **[Express](https://expressjs.com/)**
- **[CORS](https://expressjs.com/en/resources/middleware/cors.html)**
- **[KnexJS](http://knexjs.org/)**
- **[SQLite](https://github.com/mapbox/node-sqlite3)**
- **[ts-node](https://github.com/TypeStrong/ts-node)**
- **[dotENV](https://github.com/motdotla/dotenv)**
- **[Multer](https://github.com/expressjs/multer)**
- **[Celebrate](https://github.com/arb/celebrate)**
- **[Joi](https://github.com/hapijs/joi)**> See the file [package.json](https://github.com/tgmarinho/README-ecoleta/blob/master/server/package.json)
#### [](https://github.com/tgmarinho/Ecoleta#mobile-react-native--typescript)**Mobile** ([React Native](http://www.reactnative.com/) + [TypeScript](https://www.typescriptlang.org/))
- **[Expo](https://expo.io/)**
- **[Expo Google Fonts](https://github.com/expo/google-fonts)**
- **[React Navigation](https://reactnavigation.org/)**
- **[React Native Maps](https://github.com/react-native-community/react-native-maps)**
- **[Expo Constants](https://docs.expo.io/versions/latest/sdk/constants/)**
- **[React Native SVG](https://github.com/react-native-community/react-native-svg)**
- **[Axios](https://github.com/axios/axios)**
- **[Expo Location](https://docs.expo.io/versions/latest/sdk/location/)**
- **[Expo Mail Composer](https://docs.expo.io/versions/latest/sdk/mail-composer/)**> See the file [package.json](https://github.com/tgmarinho/README-ecoleta/blob/master/mobile/package.json)
#### [](https://github.com/tgmarinho/Ecoleta#utilit%C3%A1rios)**Utilitários**
- Prototype: **[Figma](https://www.figma.com/)** → **[Protótipo (Ecoleta)](https://www.figma.com/file/1SxgOMojOB2zYT0Mdk28lB/Ecoleta)**
- API: **[IBGE API](https://servicodados.ibge.gov.br/api/docs/localidades?versao=1)** → **[API de UFs](https://servicodados.ibge.gov.br/api/docs/localidades?versao=1#api-UFs-estadosGet)**, **[API de Municípios](https://servicodados.ibge.gov.br/api/docs/localidades?versao=1#api-Municipios-estadosUFMunicipiosGet)**
- Maps: **[Leaflet](https://react-leaflet.js.org/en/)**
- Editor: **[Visual Studio Code](https://code.visualstudio.com/)** → Extensions: **[SQLite](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite)**
- Markdown: **[StackEdit](https://stackedit.io/)**, **[Markdown Emoji](https://gist.github.com/rxaviers/7360908)**
- Commit Conventional: **[Commitlint](https://github.com/conventional-changelog/commitlint)**
- API Test: **[Insomnia](https://insomnia.rest/)**
- Icons: **[Feather Icons](https://feathericons.com/)**, **[Font Awesome](https://fontawesome.com/)**
- Fonts: **[Ubuntu](https://fonts.google.com/specimen/Ubuntu)**, **[Roboto](https://fonts.google.com/specimen/Roboto)**---
## Contributors
A big thanks to this group that made this product leave the field of idea and enter the app stores :)
You are an awesome team! :)
Diego Fernandes
Cleiton Souza
Robson Marques
Claudio Orlandi
Vinícios Fraga
Hugo Duarte
🌐
Joseph Oliveira
Guilherme Rodz
Mayk Brito
João Paulo
Luke Morales
Luiz Batanero
## How to contribute
1. Fork the project.
2. Create a new branch with your changes: `git checkout -b my-feature`
3. Save your changes and create a commit message telling you what you did: `git commit -m" feature: My new feature "`
4. Submit your changes: `git push origin my-feature`
> If you have any questions check this [guide on how to contribute](./CONTRIBUTING.md)---
## Author
[![Twitter Badge](https://img.shields.io/badge/-@tgmarinho-1ca0f1?style=flat-square&labelColor=1ca0f1&logo=twitter&logoColor=white&link=https://twitter.com/tgmarinho)](https://twitter.com/tgmarinho) [![Linkedin Badge](https://img.shields.io/badge/-Thiago-blue?style=flat-square&logo=Linkedin&logoColor=white&link=https://www.linkedin.com/in/tgmarinho/)](https://www.linkedin.com/in/tgmarinho/)
[![Gmail Badge](https://img.shields.io/badge/[email protected]?style=flat-square&logo=Gmail&logoColor=white&link=mailto:[email protected])](mailto:[email protected])---
## License
This project is under the license [MIT](./LICENSE).
Made with love by Thiago Marinho 👋🏽 [Get in Touch!](Https://www.linkedin.com/in/tgmarinho/)
---
## Versions of README
[Portuguese](./README.md) | [English without emojis](./README-en.md) | [Portugueses without logo](./README-sem-logo.md)