This project, developed as part of the Distributed Systems Engineering course in the Master's Degree Program in Computer Science at the University of Catania, aims to create a distributed system that, starting from a GitHub link or certain parameters, performs an analysis on the reference repository based on elements such as code, language, files, etc.
- Automated Data Collection: Implement a system that can automatically collect data from GitHub repositories, using direct links or specific parameters, ensuring efficient and accurate extraction of information.
- Code Structure Evaluation: Analyze the code structure within the repositories, examining the organization of files, modularity, and the relationships between different components of the project.
- Code Quality Metrics: Calculate and present code quality metrics such as cyclomatic complexity, test coverage, code smells, and other indicators of good software development practices.
- Support for Developers: Provide tools and detailed reports that help developers better understand their code, identify areas for improvement, and adopt good development practices.
- Flask
- RabbitMQ
- Clone the repository
git clone https://github.com/ManciSee/RepoGenius.git
cd RepoGenius
- Build and run the docker container
docker compose up --build
- Run the RabbitMQ consumer
cd rabbitmq/rabbitmq-consumer
python3 consumer.py
- Open the Flask server on port
5001
- Insert a link of a GitHub repository and enjoy!