CSIS2023 Project 2
The goal of this project is to create a functional Android application that allows users to submit and vote on “ugly pets”.
Functionality:
Start with a basic application
-Create a custom splash screen and app icon
-Login / Create Account menu
-Small extra credit: if it remembers your login
-Main Menu
-List my ugly pets
-Add an ugly pet
-Delete an ugly pet
-Vote (1-5 ugly, where 5 is very ugly)
-View Leaderboard
-View Enlarged
-Share link: fire off an intent that starts the email client.
The base URL is https://www.jwuclasses.com/ugly/, append the name of the API (such as “login”) to access a particular endpoint. All endpoints take in and emit JSON, and the elements “success” and “errormessage” will always be present.
APIs:
-login
Data in:
password (hashed, SHA256, no salt)
Data out:
success: (1 or 0)
errormessage: optional
token: str
-logout
Data in: token
-register
Data in: email, password (hashed)
Data out: success, errormessage
-List my pets (/pets/list)
Data in: token
Data out: see list of pets
-Add a pet (/pets/add)
Data in:
token
image
name
description
Data out:
success
errormessage
-Delete pet (/pets/delete)
Data in: token, id
Data out: success, errormessage
-Get leaderboard (/leaderboard)
Data out:
id
image_url
description
name
birthday
external_url
rating
total votes
-Find a pet to vote on (GET /getvote)
Data in: none
Data out: id, name, description, image_url, birthday
-Vote on a pet (POST /savevote)
Data in: token, pet_id, rating
Data out: none