Assignment 4: Backend Design & Implementation
October 3rd, 2023
Concept States
Concept 1: User
State:
registered: set User
username, password: registered -> one Stringregistered: set User
username, password: registered -> one StringConcept 2: Session[User]
State:
active: set Session
user: active -> one Useractive: set Session
user: active -> one UserConcept 3: Group[User]
State:
groups: set Group
name: Group -> one String
admin: Group -> one User
members: Group -> set Usergroups: set Group
name: Group -> one String
admin: Group -> one User
members: Group -> set UserConcept 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 Userposts: set Post
author: Post -> one User
content: Post -> String
link: Post -> one Link
note: Post -> lone Note
sharedWith: Post -> set UserConcept 5: Note[User, Post]
State:
notes: set Note
author: Note -> one User
content: Note -> Stringnotes: set Note
author: Note -> one User
content: Note -> StringConcept 6: Link[Post]
State:
description: Link -> String
url: Link -> Stringdescription: Link -> String
url: Link -> StringLinks
Backend repository: https://github.com/anna8murphy/pulse-backend
Vercel deployment: https://pulse-backend.vercel.app/