exports.createPost = async (req, res) => {
try {
const { content, mediaURL } = req.body;
const post = await Post.create({
userId: req.user.id,
content,
mediaURL
});
res.status(201).json(post);
} catch (err) {
console.error(err);
res.status(500).json({ error: 'Error creating post' });
}
};
exports.getFeed = async (req, res) => {
try {
// Example: get latest posts, optionally filtered
const posts = await Post.findAll({
include: [User, Comment],
order: [['createdAt', 'DESC']],
limit: 50
});
res.json(posts);
} catch (err) {
console.error(err);
res.status(500).json({ error: 'Error fetching feed' });
}
};// frontend/src/features/posts/CreatePostForm.jsx
When a post is created, you can broadcast a newPost event via Socket.io to all connected feed subscribers:
io.emit('newPost', post);
React or iOS clients listening on newPost can prepend the new post to the local feed array.