Spotholes is a pothole tracking app, designed to allow city dwellers to more efficiently locate potholes.
GET:
Return a paginated list of accounts
POST: {email: email,username:username, password:password}
Create a new account
GET:
Return data of account with same username
PATCH: {username: username, email:email, password:password}
Update username, email, or password or all. Only account owner or moderator has these permissions.
POST: {is_staff: (true/false), is_active:(true/false)}
Update a users permissions and active status. Only moderator has these permissions.
POST: {email: email}
Request an email with instructions to update password.
POST: {password:password, confirm_password:password}
Update password when forgotten.
GET:
Return a list of this user's potholes
GET:
Return paginated list of potholes
POST: {name:name, longitude:longitude, latitude:latitude, photo:photo}
Create a new pothole
GET:
Return specific pothole with the matching id
PUT:
Update entire instance (requires owner or moderator status)
PATCH:
Partially update instance (requires owner or moderator status)
DELETE:
Delete instance (requires owner or moderator status)
GET:
Return a list of votes associated with instance with matching id
POST:
{"score": (-1/1)}
GET:
Return a list of reports associated with instance matching id
POST:
{comment:comment (<= 4000 chars)} Create a report.
GET:
Get a specific report
PATCH:
Update a report