♻️ Ecoleta is a platform which helps people find waste collection points, aiming to facilitate the correct disposal.
It is composed by two main modules: 💻 web and 📱 mobile, in addiction to a ☁️ RESTful API as backend for both applications.
This project was built during the first edition of Next Level Week.
Big thanks to Rocketseat, especially to Diego Fernandes, for holding this event!
☁️ For API REST: Node.js and Express.js
💻 For web: ReactJS
📱 For mobile: React Native and Expo
🎉 In general: TypeScript
💡 It is worth mentioning that both web and mobile apps need the backend server running to work properly. Keeping that in mind, let's go ahead...
First thing first, you are going to need to have installed in your machine:
Optionally, if you wish to edit the code, I would recommend Visual Studio Code. Finally, with the prerequisites installed, the next step is to clone the project.
# Clone this repository
$ git clone https://github.com/victor-kayan/ecoleta
# Change to the server directory
$ cd ecoleta/server
# Install the dependencies packages
$ npm install
# Or...
$ yarn
# Run database migrations
$ npm run knex:migrate
# Or...
$ yarn knex:migrate
# Run database seeds
$ npm run knex:seed
# Or...
$ yarn knex:seed
# Run server in development mode
$ npm run dev
# Or...
$ yarn dev
# Change to the web directory
$ cd ecoleta/web
# Install the dependencies packages
$ npm install
# Or...
$ yarn
# Run website in development mode
$ npm run start
# Or...
$ yarn start
The application will run on port 3000. Access http://localhost:3000
.
# Change to the mobile directory
$ cd ecoleta/mobile-app
# Run Metro Bundler
$ expo start
# Or...
$ yarn start
After that, to run the app on your mobile device:
- Open the Expo app (Android) or the Camera app (iOS);
- Scan the QR code;
- It is done!
This project is under MIT License. Take a look at LICENSE for details.