A Pinterest-style web application built with Node.js, Express, and EJS.
- Node.js (Latest LTS version recommended)
- MongoDB (Local installation or MongoDB Atlas account)
- Git
- Clone the repository
git clone https://github.com/AyanB-dev/pinterest_clone.git
cd pinterest_clone
- Install dependencies
npm install
- Create a .env file in the root directory and add the following environment variables:
MONGODB_URI=your_mongodb_connection_string
-
Make sure MongoDB is running on your system or you have a valid MongoDB Atlas connection string
-
Initialize the database:
# Start MongoDB locally if you're using local installation
mongod
- Start the development server:
# Using normal node
npm start
- Open your browser and navigate to:
http://localhost:3000
- User authentication (using Passport.js)
- Image upload functionality
- Pinterest-style grid layout
- User profiles
- Save and organize pins
- Frontend: EJS (49%), CSS (23.4%)
- Backend: JavaScript/Node.js (27.6%)
- Database: MongoDB
- Authentication: Passport.js
- File Upload: Multer
- express: Web application framework
- ejs: Template engine
- mongoose: MongoDB object modeling
- passport: Authentication middleware
- multer: File upload handling
- express-session: Session middleware
- connect-flash: Flash messages
- And more (see package.json for complete list)
- nodemon: Development server with auto-reload
- eslint: Code linting
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is open source and available under the MIT License.