Skip to content

Repository files navigation

PostPlace

Overview

PostPlace is a web app that will provide basic social media functionalities such as logging in, creating posts, editing your profile, and commenting on posts. Users must register for an account or log in with a visitor account before being able to see posts.

Data Model

The application will store Users, Posts, and Comments.

  • users can have multiple posts (via references)
  • posts can have multiple comments (via references)

An Example User:

{
  name: "Ricky Zhang",
  username: "rz2342",
  profilePicUrl: // url to an image
  password: // a password hash,
  posts: // an array of Post ids
}

An Example Post:

{
  content: "content of the post",
  user: // the _id of the user who created the post,
  timestamp: // the timestamp of when the post was created,
  comments: // an array of Comment ids
}

An example Comment:

{
  content: "content of the comment",
  user: // the _id of the user who created the comment,
  timestamp: // the timestamp of when the comment was created,
  post: // the id of the post
}

schema

Wireframes

/ - page for logging in or signing up

list create

/home - page for showing all posts

list

/profile and /users/:userId - page for showing a profile page

list

Site map

list

User Stories or Use Cases

  1. as non-registered user, I can register a new account or log in with the site
  2. as non-registered user, I can log in as a visitor
  3. as a user, I can create a new post
  4. as a user, I can search for other users
  5. as a user, I can add a comment to a post
  6. as a user, I can edit my profile

Research Topics

  • (2 points) NextAuth.js
  • (2 points) TailwindCSS
  • (6 points) Next.js

10 points total out of 10 required points

schema

Annotations / References Used

  1. Next.js docs
  2. Nextauth docs
  3. Tailwind docs

About

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages