Welcome to my Mini Social Media Platform, a lightweight, fast, and responsive full-stack web application. This project allows users to register, create posts, view posts, like/dislike posts, and comment on others' posts, all with secure JWT-based authentication.
This Mini Social Media Platform is a full-stack web application built with HTML, CSS, and JavaScript for the frontend, Express.js for the backend, and MongoDB Compass for database functionality.
Users can register and log in, create posts, like and comment on posts, and interact with other users' content.
The project serves as a foundation for building more advanced social networking applications.
- User Authentication: Register and log in with JWT-based secure authentication.
- Create Posts: Users can write and publish posts.
- View Posts / Feed: See all posts in a feed with the newest posts on top.
- Like / Dislike Posts: Users can like posts to show appreciation.
- Comment on Posts: Users can leave comments on posts.
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js, Express.js
- Database: MongoDB Compass
-
Clone this repository.
-
Rename the .env.example file to .env and replace your jwt_token and mongo_uri.
-
Navigate to the
backendfolder and run:npm install npm run seed npm start
This will start the backend server.
-
Open
frontend/index.htmlin your browser.
- Register a new account or log in with seeded test users.
- Create posts from the "Create Post" page.
- View all posts in the feed.
- Like or comment on other 'posts.
- Log out using the "Logout" button in the navbar.
- User Profiles: Allow users to view and edit profiles.
- Post Media: Add images or videos to posts.
- Notifications: Notify users when someone likes or comments on their posts.
- Follow System: Follow/unfollow users and see a personalized feed.
- Search & Hashtags: Search for posts or users.
- Real-time Updates: Use WebSockets for live feed updates.