Skip to content

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

Backend repository: https://github.com/anna8murphy/pulse-backend

Vercel deployment: https://pulse-backend.vercel.app/