{"id":23592551,"url":"https://github.com/sarahkhan20/gitzen","last_synced_at":"2025-10-04T14:55:04.553Z","repository":{"id":268625455,"uuid":"904908520","full_name":"Sarahkhan20/GitZen","owner":"Sarahkhan20","description":"GitZen is a web-based tool designed to simplify open-source contributions by extracting, displaying, and summarizing the contents of any public GitHub repository. With its AI-powered code summaries, GitZen helps new contributors quickly understand project functionality, making it easier to get started.  ","archived":false,"fork":false,"pushed_at":"2024-12-18T16:15:09.000Z","size":198,"stargazers_count":6,"open_issues_count":4,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-27T08:14:22.524Z","etag":null,"topics":["automation","github","open-source","repo","summary"],"latest_commit_sha":null,"homepage":"https://git-zen.vercel.app","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/Sarahkhan20.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":"2024-12-17T19:30:00.000Z","updated_at":"2024-12-24T20:40:19.000Z","dependencies_parsed_at":"2024-12-17T23:37:59.493Z","dependency_job_id":null,"html_url":"https://github.com/Sarahkhan20/GitZen","commit_stats":null,"previous_names":["sarahkhan20/gitzen"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sarahkhan20%2FGitZen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sarahkhan20%2FGitZen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sarahkhan20%2FGitZen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sarahkhan20%2FGitZen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sarahkhan20","download_url":"https://codeload.github.com/Sarahkhan20/GitZen/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239432734,"owners_count":19637798,"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":["automation","github","open-source","repo","summary"],"created_at":"2024-12-27T08:14:26.101Z","updated_at":"2025-10-04T14:55:04.537Z","avatar_url":"https://github.com/Sarahkhan20.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **GitZen - GitHub Code Summarizer**\n\n**GitZen** is a powerful web-based tool designed to help users extract and summarize code from public GitHub repositories. It simplifies the process of understanding and contributing to open-source projects by providing a concise summary of the repository's contents and purpose.\n\n---\n\n## 🚀 **Features**\n\n- **GitHub Code Extraction**: Easily extract all files and their contents from a public GitHub repository.\n- **Automated Code Summarization**: Get AI-generated summaries using the *Gemini* to understand the key features and objectives of a repository.\n- **Customizable Extraction**: Exclude/include files based on extensions, directories, and set a maximum file size in bytes to tailor the extraction process to your needs.\n- **Clipboard \u0026 Download Support**: Copy extracted code and summaries to your clipboard or download them as plain text files.\n- **Interactive User Interface**: Clean and intuitive design for a seamless user experience.\n\n---\n\n## 🛠️ **Tech Stack**\n\n- **Frontend**: React.js  \n- **Backend**: Node.js with Express.js  \n- **APIs**:\n  - GitHub REST API (for fetching repository data)\n  - Google Generative AI (for code summarization)\n\n- **Dependencies**:\n  - `axios`: For API requests\n  - `react-icons`: For UI icons\n  - `@google/generative-ai`: For integrating Google Generative AI\n\n---\n\n## 🧩 **Project Structure**\n\n    Directory structure:\n    └── sarahkhan20-gitzen/\n      ├── README.md\n      ├── LICENSE\n      ├── package.json\n      ├── public/\n      │   ├── index.html\n      │   ├── manifest.json\n      │   └── robots.txt\n      ├── server/\n      │   ├── package-lock.json\n      │   ├── package.json\n      │   └── server.js\n      └── src/\n          ├── App.css\n          ├── App.js\n          ├── App.test.js\n          ├── index.css\n          ├── index.js\n          ├── reportWebVitals.js\n          ├── setupTests.js\n          └── components/\n              ├── ChatInterface.jsx\n              ├── CodeExtractor.jsx\n              ├── CodeSummarizer.jsx\n              ├── Footer.jsx\n              └── Header.jsx\n\n---\n\n## ⚙️ **Setup and Installation**\n\n### 1. **Clone the Repository**\n\n```bash\ngit clone https://github.com/YOUR_USERNAME/GitZen.git\ncd GitZen\n\n```\n### 2. **Install Dependencies**\n    npm install\n    cd server\n    npm install\n\n### 3. **Configure Environment Variables**\nCreate a .env file in the root directory and add your GitHub Personal Access Token and Groq API Key.\n\n          GITHUB_TOKEN=YOUR_GITHUB_ACCESS_TOKEN\n          GEMINI_API_KEY=YOUR_GEMINI_API_KEY\n\n- **Generate a GitHub Token** from: [GitHub Developer Settings](https://github.com/settings/tokens)  \n- **Obtain a GEMINI API Key** from: [GEMINI Platform](https://aistudio.google.com/apikey)\n\n---\n\n## 🚀 **Start the Development Server**\n\nRun the following command to start the app:\n\n```bash\nnpm start\ncd server\nnode server.js\n```\nThe app will run locally at: http://localhost:3000\n\n## 🤝 **Contributing**\n\nWe welcome contributions to enhance **GitZen**!  \n\n### To contribute:  \n1. Fork the repository.  \n2. Create a new branch:  \n\n       git checkout -b feature-name\n3. Commit your changes:\n\n       git commit -m \"Add new feature\"\n4. Push to your branch:\n\n       git push origin feature-name\n\n5. Open a Pull Request.\n   ## 🛡️ **License**\n\nThis project is licensed under the **MIT License**.  \n\n## 👨‍💻 **Author**\n\nDeveloped with ❤️ by **Sarah Khan**.  \n\n- **LinkedIn**: [Sarah Khan](https://www.linkedin.com/in/sarah-khan-13283222a/)  \n- **Email**: sarahejaz77@gmail.com  \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarahkhan20%2Fgitzen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsarahkhan20%2Fgitzen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarahkhan20%2Fgitzen/lists"}