REST api to handle authentication and database
Frontend: https://github.com/Lauri-Iivarinen/spotmap
Don't
Health check / test
return : string -> "test"
return : string -> "test2"
User
BODY -
{
username: string
passwordHash: string
}
return : string
HEADER - Bearer Token
return : JSON
{
id: Long
userId: Long
username: string
role: string
spots: List
likes: List
dislikes : List
}
Spot
HEADER - Bearer Token
return : JSON
{
id: Long
name: string
image: string
description: string
lon: double
lat: double
likes: int
dislikes: int
user: User
comments: List
}
HEADER - Bearer Token
return : List<Spot> (see above)
HEADER - Bearer Token
BODY
{
name: string
image: string
description: string
lon: double
lat: double
}
return : JSON
{
id: Long
name: string
image: string
description: string
lon: double
lat: double
likes: int
dislikes: int
user: User
comments: List
}
HEADER - Bearer Token
return : Spot
HEADER - Bearer Token
return : Spot
HEADER - Bearer Token
return : string
Comments
HEADER - Bearer Token
return : List<Comment>
Comment:
{
comment: string
user: {
userId: Long
}
spot: {
id: Long
}
}
HEADER - Bearer Token
BODY
{
comment: string
user: {
userId: Long
}
spot: {
id: Long
}
}
return : string
NOTE first time using mermaid so there may be errors :)
classDiagram
users "1"--"0..*" spot_likes
users "1"--"0..*" spot_dislikes
users "1"--"0..*" spots
users "1"--"0..*" comments
spot_likes "0..*"--"1" spots
spot_dislikes "0..*"--"1" spots
comments "0..*"--"1" spots
class users{
Long userId [PK]
String username
String passwordHash
}
class spots{
Long id [PK]
Long user.id [FK]
String name
String image
String description
Double lon
Double lat
Int likes
Int dislikes
}
class comments{
Long commentId [PK]
String comment
Long spot.id [FK]
Long users.userId [FK]
}
class spot_likes{
Long users.userId [PK]
Long spots.id [PK]
}
class spot_dislikes{
Long users.userId [PK]
Long spots.id [PK]
}