The GitHub Repo Evaluator is a web application that allows users to evaluate a GitHub repository based on the code patterns present in the repository. The application can detect the programming language used and classify the repository as beginner, intermediate, or advanced. It also highlights the specific features or patterns used in the code.
- Language Detection: Automatically detects the programming language used in the repository.
- Proficiency Classification: Classifies the repository as beginner, intermediate, or advanced based on the code patterns.
- Feature Highlighting: Displays specific features or patterns used in the code.
- User-Friendly Interface: Simple and intuitive interface for entering GitHub repository details and viewing results.
- Next.js: Framework for building the web application.
- Tailwind CSS: Utility-first CSS framework for styling.
- Axios: Promise-based HTTP client for making API requests.
- GitHub API: Used to fetch repository content and details.
- Node.js and npm installed on your machine.
- A GitHub personal access token with appropriate permissions.
- Clone the repository:
git clone https://github.com/yourusername/github-repo-evaluator.git
cd github-repo-evaluator
- Install the dependencies:
npm install
- Create a
.env.local
file in the root directory and add your GitHub personal access token:
GITHUB_TOKEN=your_github_personal_access_token
- Start the development server:
npm run dev
- Open your browser and navigate to
http://localhost:3000
to see the application.
To deploy the application to Netlify:
- Create a new site on Netlify.
- Connect your GitHub repository to the Netlify site.
- Set the build command to
npm run build
and the publish directory to.next
. - Add the environment variable
GITHUB_TOKEN
with your GitHub personal access token. - Deploy the site.
- Enter the GitHub username and repository name in the provided fields.
- Optionally, select the programming language (if known). If not selected, the application will auto-detect the language.
- Click the "Evaluate" button.
- The results will display the detected language, proficiency classification, and features used in the repository.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License.