The WiVolunteer-API is a secured API that processes requests from the WiVolunteer App.
- Frontend
- Backend
- A full documentation of the WiVolunteer app from conceptualisation to production.
- WiVolunteer Frontend README
Server
-
CORS (Cross Origin Resource Sharing)
-
ExpressJS
Authentication
- JSON Web Token
- bcrypt
- Express-JWT
Other Libraries
- MomentJS (Date/Time)
- Mongoose (MongoDB ODM)
- Nodemailer (Email Notifications)
- MongoDB (Database)
- Cloudinary (Image Storage)
# | MODEL/CONTROLLER | ACTION | URL | HTTP VERB | DESCRIPTION |
---|---|---|---|---|---|
1 | users | Create | /users | POST | Create new user |
2 | users | Update | /users/profile | PUT | Update User profile |
3 | users | Show | /users/profile | GET | Getting user profile data |
4 | authentication | Create | /login | POST | New login with sending json web token to front-end |
5 | authentication | Get | /users/authenticate | GET | Route to authenticate when componentDidMount |
6 | users | index | /users/events | GET | Event repo for current user |
7 | events | Index | /events?date=" " | GET | Show events of intererest with start date as Date.now() |
8 | events | Index | /events/all?date=" " | GET | Show all events starting from this date, all cat or search cat |
9 | events | Index | /events/find/?cat=""&date="" | GET | Filter Events for search |
10 | events | Destroy | /events/:id | DELETE | Delete event if no user join or show interest |
11 | events | Show | /events/:id | GET | Show individual event page based on event status |
12 | events | Create | /events | POST | Create a new event |
13 | events | Update | /events/:id/edit | PUT | Update event details |
14 | events | Update | /events/:id/join | PUT | Add participant |
15 | events | Update | /events/:id/drop | PUT | Remove participant |
16 | events | Update | /events/:id/interested | PUT | Add participant to event interested array |
17 | events | Update | /events/:id/uninterested | PUT | Remove participant from event interested array |
18 | feedback | Index | /feedback/:id | GET | Fetch feedback info for the event |
19 | feedback | Create | /feedback/:id | POST | Create a new feedback for the event |