Skip to content

Checkout My Roll4Initiative API. This API allows you to check out my Roll4Initiative site! Log your dnd campaigns and sessions as you progress.

Notifications You must be signed in to change notification settings

cmd08010/roll4-api

Repository files navigation

Roll4Iinitiative API

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.

Roll4 Api

Deployed Server: (https://roll4-initiative.herokuapp.com/)

Front End: (https://cmd08010.github.io/roll4-client/)

Front End Repo: (https://github.com/cmd08010/roll4-client)

Users

User Stories

  • 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

Planning Stories

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.

Technologies Used:

  • 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

Campaigns

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

Sessions

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

ERD

ERD ERD ERD

Unsolved Problems

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.

About

Checkout My Roll4Initiative API. This API allows you to check out my Roll4Initiative site! Log your dnd campaigns and sessions as you progress.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published