The ecological marketplace
- express - for server creation.
- cors - to allow the API to be accessible to the web application.
- Knex.js - SQL query builder for Javascript.
- axios - make HTTP requests to nodejs API.
- react-router-dom - create routes and handle it.
- react-icons - to add icons.
- leaflet - a JavaScript library for interactive maps.
- react-leaflet - React components for Leaflet maps.
- @react-navigation - create routes and handle it.
- @react-navigation/stack - a way for the app to transition between screens.
- react-native-maps - to use map.
- react-native-svg - for SVG icons.
- expo-mail-composer - allows us to compose and send email quickly and easily using the OS UI.
- expo-location - allows reading geolocation information from the device.
- @expo/vector-icons (installed by default) - to add icons.
- axios - make HTTP requests to nodejs API.
Ecoplace is a web and mobile app to register and search for a waste collection point, such as light bulbs, organic and electronic waste, paper, cardboard and cooking oil.
The server is an API Restful; you must run it to use the web and mobile app.
The web app is for registering a waste collection point.
Here is the Home Page; click the button to register your waste collection point.
Here is the Registration Page; fill in the fields to get your waste collection point registered and ready to be found.
The mobile app is where you can find the waste collection point. You can contact the owner's waste collection point via email and whatsapp for more details.
Here is the Home Screen; fill in the fields with your state and city to check out the available waste collection point near you.
Here is the Points Screen; select the kind of residue you would like so you can see the available waste collection point near you.
Here is the Detail Screen; here you can see more about the waste collection point and send a whatsapp message or email it.
- At first, clone the repo by running
git clone https://github.com/ribeiromatheus/ecoplace.gitorhub clone ribeiromatheus/ecoplace- if you have hub installed on your machine - on your favorite terminal. - After cloning run
yarnornpm installon server, web and mobile folder. - After that, go to server folder and rename
.env.examplefile to.env, then enter your own credentials. - Still in the server folder, run
yarn knex:migrateornpm run knex:migrateto generate the database andyarn knex:seedornpm run knex:seedto create insert the "items" into the items table. - Next, go to
mobile/srcfolder and create a folder named credentials, then create a json file named baseUrl so you can add your ip address followed by server port or your server url only.
{
"ip": "http://<ip goes here>:<port goes here>"
}# run with yarn
cd ecoplace/server
yarn dev
# run with npm
npm run dev# run with yarn
cd ecoplace/web
yarn start
# run with npm
npm run start# run with yarn
cd ecoplace/mobile
yarn start
# run with npm
npm run startThis project is under the MIT license. See the LICENSE file for more details.







