Skip to content

Latest commit

 

History

History
53 lines (33 loc) · 2.14 KB

README.md

File metadata and controls

53 lines (33 loc) · 2.14 KB

Pinterest Clone

Introduction

This project is a Pinterest clone created using MongoDB, Mongoose, Express.js, EJS, CSS, JavaScript, Multer, and Passport.js. It provides features similar to the popular image-sharing platform Pinterest, including user authentication, image uploading, liking, commenting, user profiles, search functionality, saving images, and creating public and private boards.

Features

  • User Authentication: Users can sign up, log in, and log out securely using Passport.js for authentication.
  • Image Uploading: Users can upload images to their profiles.
  • Like and Comment: Users can like and comment on uploaded images.
  • User Profiles: Users have their own profiles where they can view their uploaded images, liked images, boards, and profile information.
  • Search Users: Users can search for other users by username.
  • Save Images: Users can save images to their boards for later viewing.
  • Create Boards: Users can create boards to categorize and organize their saved images.
  • Public and Private Boards: Users can set their boards as public or private to control who can view them.
  • Explore Saved Images: Users can explore other users' saved images and boards

Setup

  • Clone the repository to your local machine.

  • Install dependencies using npm install.

  • Set up a MongoDB database.

  • Create a .env file in the root directory and add the following environment variables:

    • MONGODB_URI=<your_mongodb_uri>
  • Run the application using npm start.

  • Access the application in your web browser at http://localhost:3000.

Usage

  • Sign Up: Create a new account by providing a username and password.
  • Log In: Log in with your username and password.
  • Upload Images: Upload images to your profile.
  • Like and Comment: Like and comment on images.
  • Search Users: Search for other users by username.
  • Save Images: Save images to your boards.
  • Create Boards: Create boards to organize your saved images.
  • Explore Saved Images: Explore other users' saved images and boards.

Acknowledgements

  • This project was created as a learning exercise.
  • Special thanks to Passport.js for authentication and Multer for handling file uploads.