MikesList is a non-profit website that allows users to donate tangible items to charities or other users.
If a user doesn't have an account, they can register as a donor or a charity. If the user forgets their password, they can click the link to reset it. Users without a correct login/password cannot enter the site. Proper login will direct the user to the public feed.
The feed will render differently for various screen sizes. The following examples show the application as rendered on a Samsung phone, an iPad, and a laptop.
Items can be searched or they can be filtered by pickup/delivery options, categories, or location on the map. Items can also be sorted by date or distance.
Users scan switch between the public feed or their own posts. If a user is registered as a donor, they can add a donation.
The item page displays a carousel of the item photos. The user can choose a photo or let the carousel cycle through them automatically. Users can also post a question about an item that the poster can answer or they can report any posts that cause concern. Users can also contact the poster via direct message in a live chat. The donation location is displayed on a map on each item page. A post can be edited or deleted by the user who created it.
- Google Maps : 1.1.16
- Axios : 0.24.0
- Bcrypt : 5.0.1
- Bootstrap : 5.1.3
- Cookie-parser : 1.4.6
- Express : 4.17.1
- Jquery : 3.6.0
- Mongoose : 6.1.0
- Nodemon : 2.0.15
- React : 17.0.2
- Socket.io : 4.4.0
- React-Google-Maps : 2.7.0
- Bcryptjs : 2.4.3
- Bootstrap-icons : 1.7.2
- React-Bootstrap : 2.0.3
- Js-cookie : 3.0.1
- Jsonwebtoken : 8.5.1
- Moment : 2.29.1
- Nodemailer : 6.7.2
- Popper.js : 1.16.1
- React-dom : 17.0.2
- Socket.io-client : 4.4.0
- uuid : 8.3.2
- Validator : 13.7.0
$ git clone https://github.com/Team-Osiris-HR/BlueOcean.git
From the root directory, run
$ npm install
$ npm run react-dev
$ npm start
Set up a github.config.js with the following:
- TOKEN (from GitHub):