- express.js: server framework to build out our api
- mongoose: handles our schema and models, as well as queries to DB
- jsonwebtoken: allows us to sign and verify our Authorization tokens
- bcryptjs: encrypts/hashes our passwords so we can safely store in DB
- express-async-handler: passes exceptions to our custom error handlers
- colors: emphasizes console logs
- dotenv: configures out environment variables
HTTP method | path | description | access |
---|---|---|---|
POST | /api/users | creates user/attendee | public |
POST | /api/users/login | authorizes/authenticates | public |
HTTP method | path | description | access |
---|---|---|---|
POST | /api/talks | creates talk | private |
PUT | /api/talks/:talkId/add_attendee | adds attendee to talk | private |
PUT | /api/talks/:talkId/remove_attendee | removes attendee from talk | private |
column name | data type | details |
---|---|---|
name | String | required |
String | required | |
password | String | required |
isAdmin | Boolean | default: false |
column name | data type | details |
---|---|---|
name | String | required |
location | String | required |
startTime | String | required |
endTime | String | required |
attendees | Array | default: [] |
HTTP method | scenario | behavior | status |
---|---|---|---|
POST | proper req.body | success | 200 |
POST | email exists | bad request | 400 |
HTTP method | scenario | behavior | status |
---|---|---|---|
POST | proper req.body | success | 200 |
POST | email exists | unauthorized | 401 |
HTTP method | scenario | behavior | status |
---|---|---|---|
POST | proper req.body + auth token | success | 200 |
POST | missing req.body.endTime | internal error | 500 |
POST | missing auth | unauthorized | 401 |
HTTP method | scenario | behavior | status |
---|---|---|---|
PUT | auth token + talkId + userId | success | 200 |
PUT | auth token + talkId - invalid userId | not found | 404 |
PUT | missing auth | unauthorized | 401 |
PUT | auth token + userId - invalid talkId | internal error | 500 |
PUT | auth + talkId + alreadyAttendingUser | bad request | 400 |
HTTP method | scenario | behavior | status |
---|---|---|---|
PUT | auth token + talkId + userId | success | 200 |
PUT | auth token + talkId - invalid userId | not found | 404 |
PUT | missing auth | unauthorized | 401 |
PUT | auth token + userId - invalid talkId | internal error | 500 |