This project it's made to connect people who has a transport offer with transporters and through bids they get a good price for both.
- Once a user it's registered on the app, he can create a service to carrier packages and/or create an ship offer.
- Every ship offer has a
Bidsection and aCommentssection to interact between offertant an transporter. - Has a bottom navbar to see the map screen and the offers screen.
- We implement a
Guestbutton to make easier to view the app.
To see the app you only need to click here.
To make this project we used:
All front of shipping bids app was created in React, using:
- React router dom: To create all routes in the APP.
- Contexts: to manage user status around the app and some alerts.
- useState: to control the state of all the components that need it.
- useEffect: to manage what each component does when it is assembled.
We use Axios to manage all routes to the API.
With MUI we did:
- The Navbar.
- The Bottom Navbar.
- The alert.
We used Bootstrap to:
- Cards and collapses.
- Responsive display.
- Colours, buttons...
Both Navbars.
Back-end it's a REST API and was made in Node using Express.Js and libraries/frameworks like:
- Bcryptjs: to hash the users password.
- Cloudinary: to manage the users profile image.
- Express Session: to create session cookies.
- Http Errors: to manage use errors.
- Mongoose: to connect with Mongo DB.
- Node Cron: to manage times.
- Nodemailer: to create a welcome mail.
We also use Faker to fill our first DB
All routes are protected, you only can see if you are authenticated, you can use [email protected] as email and 12345678 as password to check it.
API starts at https://shipping-bids.herokuapp.com/api/v1 and the most significative are:
- POST /register: to create a new user.
- POST /authenticate: to login with a existing user.
- POST /offers/create: to create a new offer.
- GET /offers: to get all offers.
- GET /offers/:offerId: to get a detail of an offer.
- POST /offers/:offerId/comments: to create a comment on a offer.
- POST /offers/:offerId/bids: to create a bid on a offer.
We created some security middlewares to protect routes
This app was deployed in Heroku using Dockercontainers.