8000 GitHub - Sarahkhan20/GitZen: 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.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

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.

License

Notifications You must be signed in to change notification settings

Sarahkhan20/GitZen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitZen - GitHub Code Summarizer

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.


🚀 Features

  • GitHub Code Extraction: Easily extract all files and their contents from a public GitHub repository.
  • Automated Code Summarization: Get AI-generated summaries using the Gemini to understand the key features and objectives of a repository.
  • 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.
  • Clipboard & Download Support: Copy extracted code and summaries to your clipboard or download them as plain text files.
  • Interactive User Interface: Clean and intuitive design for a seamless user experience.

🛠️ Tech Stack

  • Frontend: React.js

  • Backend: Node.js with Express.js

  • APIs:

    • GitHub REST API (for fetching repository data)
    • Google Generative AI (for code summarization)
  • Dependencies:

    • axios: For API requests
    • react-icons: For UI icons
    • @google/generative-ai: For integrating Google Generative AI

🧩 Project Structure

Directory structure:
└── sarahkhan20-gitzen/
  ├── README.md
  ├── LICENSE
  ├── package.json
  ├── public/
  │   ├── index.html
  │   ├── manifest.json
  │   └── robots.txt
  ├── server/
  │   ├── package-lock.json
  │   ├── package.json
  │   └── server.js
  └── src/
      ├── App.css
      ├── App.js
      ├── App.test.js
      ├── index.css
      ├── index.js
      ├── reportWebVitals.js
      ├── setupTests.js
      └── components/
          ├── ChatInterface.jsx
          ├── CodeExtractor.jsx
          ├── CodeSummarizer.jsx
          ├── Footer.jsx
          └── Header.jsx

⚙️ Setup and Installation

1. Clone the Repository

git clone https://github.com/YOUR_USERNAME/GitZen.git
cd GitZen

2. Install Dependencies

npm install
cd server
npm install

3. Configure Environment Variables

Create a .env file in the root directory and add your GitHub Personal Access Token and Groq API Key.

      GITHUB_TOKEN=YOUR_GITHUB_ACCESS_TOKEN
      GEMINI_API_KEY=YOUR_GEMINI_API_KEY

🚀 Start the Development Server

Run the following command to start the app:

npm start
cd server
node server.js

The app will run locally at: http://localhost:3000

🤝 Contributing

We welcome contributions to enhance GitZen!

To contribute:

  1. Fork the repository.

  2. Create a new branch:

    git checkout -b feature-name
    
  3. Commit your changes:

    git commit -m "Add new feature"
    
  4. Push to your branch:

    git push origin feature-name
    
  5. Open a Pull Request.

    🛡️ License

This project is licensed under the MIT License.

👨‍💻 Author

Developed with ❤️ by Sarah Khan.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published
0