Intro | API | Website | Mobile app
Ecoleta is a project that was developed during Next Level Week. An online event organized by Rocketseat that aims to up the career of developers by challenging them to build a complete application. We built an API, a website and a mobile application. June 5th was also the international environment day. So we created a website where entities could register and inform what some kind of material that can't be disposed in common garbage that they are collecting, like batteries or cooking oil, for example. We also created an application where the user can access and check on the map the points registered on the webiste and locate where have one to discard some item they need.
We used TypeScript, because it provides us a better autocomplete and reduces the chance of errors by comparing with simple JavaScript.
- Node.js for the API
- ReactJS for the website
- React Native and Expo for the mobile application
- Download here, and import it in Insomnia
# clone this repo
$ git clone https://github.com/felipejsborges/ecoleta.git
# go to backend folder
$ cd backend
# install dependencies
$ npm install
# run migrations and seed
$ npm run knex:migrate
$ npm run knex:seed
# Change to your computer's IP on files ItemsController and PointsController on `backend/src/controllers/`
# run the server
$ npm run dev
- Create a collecting point
- It can be accessed using a smartphone
- Axios to consume the API
- React Leaflet for Leaflet as a React component
# clone this repo
$ git clone https://github.com/felipejsborges/ecoleta.git
# go to frontend folder
$ cd frontend
# install dependencies
$ npm install
# Change to your computer's IP on mobile/src/services/api.ts
# run the website
$ npm run start
- Filter points by city
- Show points on map
- Filter points by items
- Show details of a specific point
- Allow to contact a point by e-mail or WhatsApp
- Open map to show directions to the point
- React Navigation for routing and navigation
- React Native Maps to create a map as a component of React Native
# clone this repo
$ git clone https://github.com/felipejsborges/ecoleta.git
# go to mobile folder
$ cd mobile
# install dependencies
$ npm install
# Change to your computer's IP on mobile/src/services/api.ts
# run the application
5AA6
$ npm run start
Feel free to contribute 💪