{"id":28520636,"url":"https://github.com/varshithdupati/google-keep-clone","last_synced_at":"2026-04-08T23:32:26.255Z","repository":{"id":248465067,"uuid":"828759186","full_name":"varshithdupati/google-keep-clone","owner":"varshithdupati","description":"Google Keep Clone using PERN (Postgres + Express + React + Node) stack","archived":false,"fork":false,"pushed_at":"2025-02-14T02:06:09.000Z","size":128,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-28T06:12:24.339Z","etag":null,"topics":["express","google-keep","google-keep-clone","node","pern-stack","postgres","react"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/varshithdupati.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-07-15T04:32:59.000Z","updated_at":"2025-02-14T02:10:11.000Z","dependencies_parsed_at":"2024-07-15T05:47:30.440Z","dependency_job_id":"c9796400-c8fc-4784-96b1-08d46cc85921","html_url":"https://github.com/varshithdupati/google-keep-clone","commit_stats":null,"previous_names":["dvarshith/google-keep-clone","varshithdupati/google-keep-clone"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/varshithdupati/google-keep-clone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varshithdupati%2Fgoogle-keep-clone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varshithdupati%2Fgoogle-keep-clone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varshithdupati%2Fgoogle-keep-clone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varshithdupati%2Fgoogle-keep-clone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/varshithdupati","download_url":"https://codeload.github.com/varshithdupati/google-keep-clone/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varshithdupati%2Fgoogle-keep-clone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31413267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["express","google-keep","google-keep-clone","node","pern-stack","postgres","react"],"created_at":"2025-06-09T07:07:49.173Z","updated_at":"2026-04-04T20:32:37.056Z","avatar_url":"https://github.com/varshithdupati.png","language":"JavaScript","readme":"# Google Keep Clone (PERN Stack)\n\nA **Google Keep**-inspired note-taking application built using the **PERN** stack:\n- **PostgreSQL**: Database for storing notes\n- **Express**: Server framework for handling API routes\n- **React**: Front-end UI for creating/viewing/editing notes\n- **Node.js**: Runtime environment for running JavaScript on the server side\n\nThis clone allows users to create, read, update, and delete notes, closely mirroring key features of Google Keep.\n\n\u003cbr/\u003e\n\n## Table of Contents\n1. [Overview](#overview)\n2. [Features](#features)\n3. [Tech Stack](#tech-stack)\n4. [Installation \u0026 Setup](#installation--setup)\n5. [Usage](#usage)\n6. [Project Structure](#project-structure)\n7. [Contributing](#contributing)\n8. [License](#license)\n9. [Contact](#contact)\n\n\u003cbr/\u003e\n\n## Overview\nThis **Google Keep Clone** is a full-stack web app that showcases how to build a note-taking application with the **PERN** stack. Users can:\n- Add new notes (with titles and content)\n- Edit existing notes\n- Delete notes\n\n\u003cbr/\u003e\n\n## Features\n- **Create Notes**: Title + content fields\n- **Edit Notes**: Update existing note content\n- **Delete Notes**: Remove unwanted notes\n- **Responsive UI**: Works on both desktop and mobile\n- **Authentication**: Bcrypt based and Google Single Sign-On (SSO)\n\n\u003cbr/\u003e\n\n## Tech Stack\n1. **PostgreSQL**  \n   - Relational database for storing note data\n2. **Express**  \n   - HTTP server framework running on Node.js\n3. **React**  \n   - Front-end library for building the user interface\n4. **Node.js**  \n   - JavaScript runtime for server-side logic\n\n\u003cbr/\u003e\n\n## Installation \u0026 Setup\n1. **Clone the Repository**\n   ```\n   git clone https://github.com/dvarshith/google-keep-clone.git\n   cd google-keep-clone\n   ```\n2. **Create a PostgreSQL Database**\n   - Install PostgreSQL.\n   - Create a database.\n   - Note your Postgres credentials (host, user, password, port).\n3. **Backend Setup**\n   - Go to the backend folder.\n     ```\n     cd server\n     npm install\n     ```\n   - Create a `.env` file to store Postgres credentials and any other environment variables:\n     ```\n     DB_USER=your_username\n     DB_PASSWORD=your_password\n     DB_HOST=localhost\n     DB_PORT=5432\n     DB_NAME=keep_clone_db\n     SERVER_PORT=5000\n     ```\n   - Initialize your database schema.\n   - Start the server:\n     ```\n     npm run dev\n     ```\n     By default, the server will run on http://localhost:5000.\n4. **Frontend Setup**\n   - In another terminal, go to the React front-end folder:\n     ```\n     cd client\n     npm install\n     ```\n   - Start the React app:\n     ```\n     npm start\n     ```\n     The app opens at http://localhost:5173 by default.\n\n\u003cbr/\u003e\n\n## Usage\n1. **Open the Frontend**: Go to http://localhost:5173.\n2. **Create a Note**: Click “Add Note” and fill in title and content.\n3. **Edit a Note**: Select a note, modify text, and save.\n4. **Delete a Note**: Click the delete icon to remove it from the list.\n5. **Database**: Check your PostgreSQL `keep_clone_db` to see note records appear or change.\n\n\u003cbr/\u003e\n\n## Project Structure\n```\ngoogle-keep-clone/\n├── server/                 # Express + Node backend\n│   ├── db.sql              # Postgres connection/config\n│   |── package.json        # backend dependencies\n|   └── server.js           # backend code\n├── client/                 # React frontend\n│   ├── src/\n│   │   ├── components/     # Note components, etc.\n│   │   ├── pages/          # Routes for handling authentication.\n│   │   └── index.js        # index javascript file for frontend using React\n│   ├── public/\n│   ├── resources/\n│   ├── index.html\n│   |── package.json\n│   └── vite.config.js\n├── README.md\n├── LICENSE\n└── .gitignore\n```\n\n\u003cbr/\u003e\n\n## Contributing\n1. Fork this repository\n2. Create a new branch (`git checkout -b feature/YourFeature`)\n3. Commit changes (`git commit -m 'Add feature'`)\n4. Push to branch (`git push origin feature/YourFeature`)\n5. Open a Pull Request on GitHub\n\n\u003c/br\u003e\n\n## License\nThis project is released under the `MIT License`. That means you’re free to use, modify, and distribute the code, but you do so at your own risk.\n\n\u003c/br\u003e\n\n## Contact\nAuthor: Varshith Dupati \u003c/br\u003e\nGitHub: @dvarshith \u003c/br\u003e\nEmail: dvarshith942@gmail.com \u003c/br\u003e\nIssues: Please open an issue on this repo if you have questions or find bugs. \u003c/br\u003e\n\n\u003cbr/\u003e\n\nNote: This project is for educational/demonstration purposes. It is not affiliated with or endorsed by Google in any way.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvarshithdupati%2Fgoogle-keep-clone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvarshithdupati%2Fgoogle-keep-clone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvarshithdupati%2Fgoogle-keep-clone/lists"}