Welcome! This is the API for the Roll4Iinitiative application.
Users can create an account and add new campaigns and entries for your campaigns to track their progress.
Deployed Server: (https://roll4-initiative.herokuapp.com/)
Front End: (https://cmd08010.github.io/roll4-client/)
Front End Repo: (https://github.com/cmd08010/roll4-client)
- As a user I want to sign in/up
- As a user I want to change my password
- As a user I want to sign out
- As a user I want to Create a new Campaign
- As a user I want to Read multiple Campaigns
- As a user I want to Read a single Campaign
- As a user I want to Update a Campaign I own
- As a user I want to Delete a Campaign I own
- As a user I want to Create a new Session in a campaign
- As a user I want to Read multiple Sessions
- As a user I want to Read a single Session
- As a user I want to Update a Session I own
- As a user I want to Delete a Session I own
I wanted to create an application that could help me keep track of Dungeons and Dragons Campaigns as they are run. This application allows you to create campaigns and create sessions for each campaign. I began with Trello and some wireframes and an ERD for planning purposes. I then designed and completed the entire api and then completed the front end.
- jQuery
- HTML/CSS
- Bootstrap
- Javascript
- Moment.js Package
- Express
- Passport for authentication
| Request | Response | ||||
|---|---|---|---|---|---|
| Verb | URI | body | Headers | Status | body |
| POST | /sign-up | credentials | empty | 201, Created | user |
| POST | /sign-in | credentials | empty | 200 OK | user w/token |
| DELETE | /sign-out | empty | token | 201 Created | empty |
| PATCH | /change-password | passwords | token | 204 No Content | user w/token |
| Response Errors | |||||
| Description | Status | Body | |||
| Invalid incoming request data | 400 Bad Request | Error object | |||
| Missing or invalid Authorization token | 401 Unauthorized | Unauthorized message | |||
| Request | Response | ||||
|---|---|---|---|---|---|
| Verb | URI | body | Headers | Status | body |
| POST | /campaigns | {} | token | 201, Created | campaign Obj |
| GET | /campaigns | n/a | token | 200, OK | campaigns Obj |
| GET | /campaigns/:id | n/a | token | 200, OK | campaign Obj |
| DELETE | /campaigns/:id | n/a | token | 200, Ok | n/a |
| PATCH | /campaigns/:id | campaign data | token | 201, Ok | campaign Obj |
| Response Errors | |||||
| Description | Status | Body | |||
| Invalid incoming request data | 400 Bad Request | Error object | |||
| Missing or invalid Authorization token | 401 Unauthorized | Unauthorized message | |||
| Request | Response | ||||
|---|---|---|---|---|---|
| Verb | URI | body | Headers | Status | body |
| POST | /campaigns/:id/sessions | {} | token | 201, Created | session Obj |
| GET | /campaigns/:id/sessions | n/a | token | 200, OK | sessions Obj |
| GET | /campaigns/:id/sessions/:id | n/a | token | 200, OK | session Obj |
| DELETE | /campaigns/:id/sessions/:id | session data | token | 204, Ok | n/a |
| PATCH | /campaigns/:id/sessions/:id | session data | token | 201, Ok | session Obj |
| Response Errors | |||||
| Description | Status | Body | |||
| Invalid incoming request data | 400 Bad Request | Error object | |||
| Missing or invalid Authorization token | 401 Unauthorized | Unauthorized message | |||
I would like the future versions to have a cleaner UI and UX. I also want to ensure it is mobile friendly. I will also be adding an additional forgot password feature and the ability to add members to a campaign so you can share with your friends! I also want to add a notes page to include notes about the campaign. I also want to add preloadable campaigns for users to use.


