{"id":24654956,"url":"https://github.com/shreyask5/pinterest-clone-react","last_synced_at":"2026-04-11T17:04:45.481Z","repository":{"id":273582921,"uuid":"918940597","full_name":"shreyask5/Pinterest-Clone-React","owner":"shreyask5","description":"Full-Stack Pinterest Clone with Google Authentication, Firestore Database, AWS S3 for Image Uploads, and Dynamic Explore, MyPins, and Profile Pages Built with React.js and Express.js hosted on Oracle Cloud.","archived":false,"fork":false,"pushed_at":"2025-01-21T19:11:25.000Z","size":521,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T01:43:41.546Z","etag":null,"topics":["aws-ec2","aws-s3","express-js","firebase-auth","firebase-database","node-js","oracle-cloud","pinterest-clone","react","vite"],"latest_commit_sha":null,"homepage":"https://shreyask.in/projects/pinterest-clone","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shreyask5.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-19T09:34:18.000Z","updated_at":"2025-01-21T19:11:28.000Z","dependencies_parsed_at":"2025-01-21T19:34:26.322Z","dependency_job_id":"238ac7e4-f467-4a93-af3c-462e6968abb4","html_url":"https://github.com/shreyask5/Pinterest-Clone-React","commit_stats":null,"previous_names":["shreyask5/pinterest-clone-react"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shreyask5%2FPinterest-Clone-React","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shreyask5%2FPinterest-Clone-React/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shreyask5%2FPinterest-Clone-React/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shreyask5%2FPinterest-Clone-React/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shreyask5","download_url":"https://codeload.github.com/shreyask5/Pinterest-Clone-React/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244722651,"owners_count":20499153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-ec2","aws-s3","express-js","firebase-auth","firebase-database","node-js","oracle-cloud","pinterest-clone","react","vite"],"created_at":"2025-01-25T22:19:20.138Z","updated_at":"2026-04-11T17:04:45.454Z","avatar_url":"https://github.com/shreyask5.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pinterest Clone: Full-Stack Web Application\n\n## **Try Pinterest Clone Live**: [https://shreyask.in/projects/pinterest-clone/demo](https://shreyask.in/projects/pinterest-clone/demo)\n## **Watch Pinterest Clone Demo**: [Watch Demo Here](https://shreyask.in/projects/pinterest-clone/#demo)\n\nThis project is a full-stack Pinterest clone built using **React.js** for the frontend and **Node.js with Express.js** for the backend. It includes features like **Google Authentication**, **Firestore Database**, **AWS S3 for image uploads**, and much more. Hosted on **Oracle Cloud**, the application replicates core functionalities of Pinterest, providing users with a seamless image upload and exploration experience.\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Project Overview](#project-overview)\n- [Features and Functionalities](#features-and-functionalities)\n- [Technology Stack](#technology-stack)\n- [Known Issues and Areas for Improvement](#known-issues-and-areas-for-improvement)\n- [Changelog](#changelog)\n- [Conclusion](#conclusion)\n\n## Introduction\n\nThe Pinterest Clone is designed to mimic key functionalities of the Pinterest platform, offering users the ability to explore images, upload personal content, and manage their uploads through an intuitive and user-friendly interface. It integrates powerful backend technologies, cloud storage, and real-time database management to offer a scalable and efficient solution.\n\n## Project Overview\n\nThis project incorporates a **React.js** frontend connected to a **Node.js** backend, hosted on **Oracle Cloud**. The application allows users to sign in via **Google Authentication** or use email-based login. The platform utilizes **Firestore Database** to manage user data, and images are stored in **AWS S3** for quick retrieval. With pages like **Explore**, **MyPins**, and **Profile**, users can easily browse, upload, and organize their content.\n\n## Features and Functionalities\n\n- **Google Authentication**: \n  - Users can sign in with Google or register via email for secure access to the platform.\n  \n- **Image Upload \u0026 Management**: \n  - Users can upload images to **AWS S3**, which are stored and displayed on the **Explore** and **MyPins** pages.\n  \n- **Explore Page**: \n  - Browse all uploaded content in a clean, user-friendly interface.\n  \n- **MyPins Page**: \n  - Manage personal uploads and content once signed in.\n  \n- **Profile Page**: \n  - Access and update user-specific details (currently under development).\n  \n- **Search Functionality**: \n  - Search for images by title or description to easily find specific content.\n\n- **Firestore Database**: \n  - Efficiently stores user details, uploaded images, and metadata for seamless access.\n\n- **Responsive Design**: \n  - Designed to work on various devices (currently in progress).\n\n## Technology Stack\n\n- **Frontend**: \n  - React.js\n  - HTML5\n  - CSS\n  - JavaScript\n  \n- **Backend**: \n  - Node.js\n  - Express.js\n  \n- **Database**: \n  - Firebase Firestore\n  \n- **Cloud Storage**: \n  - AWS S3 for image uploads\n  \n- **Authentication**: \n  - Google Authentication for secure sign-ins\n  \n- **Hosting**: \n  - Oracle Cloud\n  \n- **Version Control**: Git\n\n## Known Issues and Areas for Improvement\n\n### 1. **Search Functionality**  \n- The search feature currently works only on the homepage and does not function across other pages. This will be improved in future updates.\n\n### 2. **Responsiveness**  \n- The website is not fully responsive and requires adjustments for proper display across all devices.\n\n### 3. **Profile Page**  \n- A dedicated user profile page is missing and will be implemented in a future update.\n\n### 4. **Save and Share Buttons**  \n- The save and share buttons are not functional yet, and will be added in upcoming releases.\n\n### 5. **Image Upload Preview**  \n- The application currently does not display a preview of images being uploaded. This functionality will be added for better user experience.\n\n### 6. **Performance Issues**  \n  - The website experiences slow loading times due to large bundled file sizes.\n  - Some chunks exceed 500 kB after minification, which affects the website's performance. To address this, code-splitting and other performance optimization techniques will be explored in future versions.\n\n### 7. **Direct Link Issue**  \n- When navigating directly to `https://shreyask.in/projects/pinterest-clone/demo/my-pins`, users are shown a loading screen instead of the sign-up prompt. This will be fixed in the next update.\n\n### 8. **Upload Metadata**  \n  - The timestamp and uploader's name need to be displayed correctly. Additionally, the title should have a character limit, while the description can be long. Currently, the description can be very long and appears when hovering over the image.\n\n### 9. **Email OTP for Sign-Up**  \n  - The sign-up process does not include an OTP (One-Time Password) for email verification. This will be implemented in future updates.\n\n## Changelog\n\n### **Version 1.0**  \n#### **Frontend**  \n- Implemented the **Explore Page** to showcase all uploaded images.  \n- Built **MyPins Page** for users to manage their personal uploaded images.  \n- Added **Google Authentication** for secure user login and registration.  \n- Developed **Search Functionality** to search images by title or description.  \n- Created basic **Responsive Design**, though not fully optimized across all devices.  \n\n#### **Backend**  \n- Established a **Node.js** server with **Express.js** for API routes.  \n- Integrated **Firestore Database** to store user data and image metadata.  \n- Configured **AWS S3** to store uploaded images securely.  \n\n#### **Authentication \u0026 Cloud Storage**  \n- Integrated **Google Authentication** for user sign-up and login.  \n- Set up **AWS S3 Bucket** to handle image uploads efficiently.  \n- Configured **Firestore Database** for storing user information and image details.\n\n---\n\n## Conclusion\n\nThe Pinterest Clone is a feature-rich, full-stack application that replicates essential functionalities of the Pinterest platform, including image uploads, user authentication, and content management. While there are some known issues and areas for improvement, the project demonstrates the use of modern web technologies and cloud services to build a scalable, efficient, and user-friendly web application.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshreyask5%2Fpinterest-clone-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshreyask5%2Fpinterest-clone-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshreyask5%2Fpinterest-clone-react/lists"}