Assignment 4: Backend Design & Implementation
October 3rd, 2023
Concept States
Concept 1: User
State:
registered: set User
username, password: registered -> one String
registered: set User
username, password: registered -> one String
Concept 2: Session[User]
State:
active: set Session
user: active -> one User
active: set Session
user: active -> one User
Concept 3: Group[User]
State:
groups: set Group
name: Group -> one String
admin: Group -> one User
members: Group -> set User
groups: set Group
name: Group -> one String
admin: Group -> one User
members: Group -> set User
Concept 4: Post[User, Link, Note]
State:
posts: set Post
author: Post -> one User
content: Post -> String
link: Post -> one Link
note: Post -> lone Note
sharedWith: Post -> set User
posts: set Post
author: Post -> one User
content: Post -> String
link: Post -> one Link
note: Post -> lone Note
sharedWith: Post -> set User
Concept 5: Note[User, Post]
State:
notes: set Note
author: Note -> one User
content: Note -> String
notes: set Note
author: Note -> one User
content: Note -> String
Concept 6: Link[Post]
State:
description: Link -> String
url: Link -> String
description: Link -> String
url: Link -> String
Links
Backend repository: https://github.com/anna8murphy/pulse-backend
Vercel deployment: https://pulse-backend.vercel.app/