The GitHub Reviewer Tool is a Java-based application designed to analyze GitHub user profiles and identify the most technically complex repository. This tool provides insights into a user's public repositories, including repository details, language usage, and complexity metrics.
- Fetch and analyze all public repositories for a given GitHub username
- Calculate complexity scores based on various metrics (to be implemented)
- Identify the most technically complex repository
- Present analysis results through a web interface
- Java 11 or higher
- Gradle 6.8 or higher (included with the project as a wrapper)
- A GitHub account and personal access token
-
Clone the repository:
git clone https://github.com/yourusername/github-reviewer-tool.git cd github-reviewer-tool -
Set up your GitHub token:
- Create a
application.propertiesfile insrc/main/resources/if it doesn't exist - Add your GitHub token to the file:
github.token=your_github_token_here
- Create a
-
Build the project:
./gradlew build
-
Start the application:
./gradlew bootRun -
Open a web browser and navigate to
http://localhost:8080 -
Enter a GitHub username in the provided form and click "Analyze"
-
View the analysis results, including repository details and the most complex repository
project-root/
├── src/
│ ├── main/
│ │ ├── java/com/example/githubreviewertool/
│ │ │ ├── controller/
│ │ │ ├── service/
│ │ │ ├── model/
│ │ │ └── config/
│ │ └── resources/
│ │ └── templates/
│ └── test/
├── build.gradle
└── settings.gradle
ReviewController: Handles HTTP requests and manages the web interfaceGitHubService: Interacts with the GitHub API to fetch repository dataComplexityAnalyzer: Analyzes repositories and calculates complexity scoresRepositoryandAnalysisResult: Model classes for data representation
To modify the complexity analysis logic, edit the ComplexityAnalyzer class in the service package. You can implement your own algorithms or integrate third-party tools for more advanced analysis.
Contributions to the GitHub Reviewer Tool are welcome! Please follow these steps:
- Fork the repository
- Create a new branch:
git checkout -b feature-branch-name - Make your changes and commit them:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature-branch-name - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Spring Boot for the web application framework
- GitHub API for Java for GitHub integration
- Gradle for build automation
For questions or feedback, please open an issue in the GitHub repository or contact the maintainer at malikayush999@gmail.com.