Imagist is a clone of Pinterest that allows users to create an account, sign in with Google, create pins, save pins, delete their pins, comment on pins, create boards, save pins to boards, search for pins, change their profile picture, and download pins. It is built using EJS as frontend CSS for styling and Node.js as the backend. Pins are stored using GridFS in a MongoDB database and are directly fetched from the database.
To get a local copy of this project up and running, follow these steps.
-
Fork the repository
-
Clone the repository: git clone https://github.com/your-username/imagist.git
-
Install the dependencies:
- cd imagist
- npm install
-
Set up the environment variables:
Create a file named .env
in the root directory of the project and add the following variables:
MONGO_URI= GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET=
Replace <your-mongodb-uri>
, <your-google-client-id>
, <your-google-client-secret>
, and <your-session-secret>
with your own values.
- Run the application:
npm start
The application should now be running on http://localhost:3000/.
Click on the "Sign up" button and fill in the registration form with your name, email, and password. Click on the "Sign up" button to create your account.
Click on the "Sign in with Google" button and choose the Google account you want to use to sign in.
Click on the "Create Pin" button and fill in the pin form with the pin title, description, and image. Click on the "Create Pin" button to create your pin.
Hover over a pin and click on the "Save" button to save the pin to one of your boards.
Hover over a pin you have created and click on the "Delete" button to delete the pin.
Click on a pin to view it and scroll down to the comments section. Type in your comment and click on the "Post" button to post your comment.
Click on the "Create Board" button and fill in the board form with the board name and description. Click on the "Create Board" button to create your board.
Click on a pin to view it and hover over it. Click on the "Save" button and choose the board you want to save the pin to.
Type in a keyword in the search bar and click on the "Search" button to search for pins.
Click on the profile picture icon in the top right corner and click on the "Change Profile Picture" button. Choose the image you want to use as your profile picture and click on the "Save" button.
Click on a pin to view it and hover over it. Click on the "Download" button to download the pin image.