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.
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
}/ - page for logging in or signing up
/home - page for showing all posts
/profile and /users/:userId - page for showing a profile page
- as non-registered user, I can register a new account or log in with the site
- as non-registered user, I can log in as a visitor
- as a user, I can create a new post
- as a user, I can search for other users
- as a user, I can add a comment to a post
- as a user, I can edit my profile
- (2 points) NextAuth.js
- (2 points) TailwindCSS
- (6 points) Next.js
10 points total out of 10 required points