Skip to content

๐ŸŒŸ Simple Microblogging Application ๐ŸŒŸ A lightweight microblogging platform where users can share posts, follow others, and engage with content. Built with Node.js, Express.js, MongoDB, and EJS, this app allows text and multimedia posts, commenting, user authentication, and personalized feeds. ๐Ÿš€

Notifications You must be signed in to change notification settings

Subramanian7986/secure-microblogging-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŸ Simple Microblogging Application ๐ŸŒŸ

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.


๐ŸŽฏ Features

  • ๐Ÿ”’ 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.

๐Ÿ’ป Technologies Used

  • ๐ŸŸข 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.

๐Ÿ“‚ Project Structure

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

๐Ÿš€ Getting Started

1๏ธโƒฃ Clone the Repository

git clone https://github.com/Subramanian7986/secure-microblogging-app.git
cd microblogging-app

2๏ธโƒฃ Install Dependencies

npm install

3๏ธโƒฃ Set Up the Database

  • Ensure MongoDB is installed and running locally.
  • Create a database named microblogging.

4๏ธโƒฃ Run the Application

npm start

5๏ธโƒฃ Access the Application

Open your browser and navigate to http://localhost:3000.


๐ŸŽฎ How to Use

  1. ๐Ÿ–Š๏ธ Register:
    • Create an account using the Register page.
  2. ๐Ÿ”‘ Login:
    • Log in with your email and password.
  3. โœ๏ธ Create Posts:
    • Share thoughts with text, images, audio, or video files.
  4. ๐Ÿ‘ฅ Follow Users:
    • Find and follow users to see their posts in your feed.
  5. ๐Ÿ’ฌ Comment on Posts:
    • Interact by commenting on posts.

โš™๏ธ Dependencies

  • ๐ŸŸข 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.

๐ŸŒŸ Future Enhancements

  • ๐Ÿ”” Notifications for followers, comments, and likes.
  • ๐Ÿ“จ Private Messaging between users.
  • โฑ๏ธ Real-time Updates using WebSockets.
  • ๐Ÿ“‹ User Profiles with more details.

๐Ÿค Contributing

We welcome contributions! Follow these steps:

  1. ๐Ÿด Fork the repository.
  2. ๐Ÿ”€ Create a feature branch: git checkout -b feature-name.
  3. ๐Ÿ’พ Commit your changes: git commit -m 'Add some feature'.
  4. โฌ†๏ธ Push to your branch: git push origin feature-name.
  5. ๐Ÿ“ฌ Submit a pull request.

๐Ÿ“œ License

This project is licensed under the MIT License. See the LICENSE file for details.


๐Ÿ“ง Contact

For any questions or feedback, reach out at: vsubramanianofficial@gmail.com

Letโ€™s create something amazing together! ๐ŸŽ‰

About

๐ŸŒŸ Simple Microblogging Application ๐ŸŒŸ A lightweight microblogging platform where users can share posts, follow others, and engage with content. Built with Node.js, Express.js, MongoDB, and EJS, this app allows text and multimedia posts, commenting, user authentication, and personalized feeds. ๐Ÿš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published