Welcome to the microblogging platform! This is a simple yet powerful application similar to Twitter, where you can express yourself, connect with others, and share multimedia content.
- ๐ User Authentication: Register, log in, and log out seamlessly.
- ๐ Posting: Share text posts with optional multimedia (images, audio, or videos).
- ๐ค Follow/Unfollow: Stay updated by following other users.
- ๐ฌ Commenting: Engage with posts by adding comments.
- ๐ Search: Easily find other users by their username.
- ๐ฐ User Feed: View posts from the users you follow in your personalized feed.
- ๐ข Node.js: Backend runtime environment.
- โก Express.js: Fast and minimal web framework.
- ๐ MongoDB: NoSQL database for storing data.
- ๐ผ๏ธ EJS: Templating engine for dynamic views.
- ๐ Multer: For file uploads.
- ๐ bcrypt: Secure password encryption.
- ๐ ๏ธ Session Management: Manage user sessions with
express-session
.
microblogging-app/
โโโ app.js # Main application file
โโโ models/
โ โโโ post.js # Post schema
โ โโโ user.js # User schema
โโโ routes/
โ โโโ index.js # Home and general routes
โ โโโ post.js # Post-specific routes
โ โโโ user.js # User-specific routes
โโโ views/ # EJS templates
โ โโโ header.ejs # Common header
โ โโโ home.ejs # User feed
โ โโโ login.ejs # Login page
โ โโโ register.ejs # Registration page
โ โโโ post.ejs # Individual post view
โ โโโ searchResults.ejs # Search results page
โโโ public/ # Static files
โ โโโ uploads/ # Uploaded multimedia files
โ โโโ style.css # CSS for the application
โโโ package.json # Project metadata and dependencies
โโโ README.md # Project documentation
git clone https://github.com/Subramanian7986/secure-microblogging-app.git
cd microblogging-app
npm install
- Ensure MongoDB is installed and running locally.
- Create a database named
microblogging
.
npm start
Open your browser and navigate to http://localhost:3000.
- ๐๏ธ Register:
- Create an account using the Register page.
- ๐ Login:
- Log in with your email and password.
- โ๏ธ Create Posts:
- Share thoughts with text, images, audio, or video files.
- ๐ฅ Follow Users:
- Find and follow users to see their posts in your feed.
- ๐ฌ Comment on Posts:
- Interact by commenting on posts.
- ๐ข Express: Web server framework.
- ๐ Mongoose: MongoDB object modeling.
- ๐ผ๏ธ EJS: For rendering views.
- ๐ Multer: File upload handling.
- ๐ bcrypt: Secure password encryption.
- ๐ ๏ธ express-session: User session management.
- ๐ Notifications for followers, comments, and likes.
- ๐จ Private Messaging between users.
- โฑ๏ธ Real-time Updates using WebSockets.
- ๐ User Profiles with more details.
We welcome contributions! Follow these steps:
- ๐ด Fork the repository.
- ๐ Create a feature branch:
git checkout -b feature-name
. - ๐พ Commit your changes:
git commit -m 'Add some feature'
. - โฌ๏ธ Push to your branch:
git push origin feature-name
. - ๐ฌ Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or feedback, reach out at: vsubramanianofficial@gmail.com
Letโs create something amazing together! ๐