The posting feature in MERN Social will allow users to share content on the MERN Social application platform and also interact with each other over the content by commenting on or liking a post:
To store each post, we will first define the Mongoose Schema in server/models/post.model.js
. The Post schema will store a post's text content, a photo, a reference to the user who posted, time of creation, likes on the post from users, and comments on the post by users:
- Post text: The
text
will be a required field to be provided by the user on new post creation from the view:
text: { type: String, required: 'Name is required' }
- Post photo: The
photo
will be uploaded from the user's local files during post creation, and stored in MongoDB similar to the user profile photo upload feature. The photo will be optional for each post:
photo: { data: Buffer, contentType: String }
- Post by: Creating a post will require a user to be signed in first, so we can store a reference...