Skip to content

Mining My Repository is an application developed to study the individual contributions of developers to projects that use Git. It is also useful for analyzing the impact of commits in Java projects.

License

Notifications You must be signed in to change notification settings

renatabrasil/mining_my_repository

Repository files navigation

Mining my repository

SonarCloud: Quality Gate Status Maintainability Rating Coverage

CodeClimate: Maintainability


  1. Introduction
    1. Next steps
  2. Getting Started
    1. Prerequisites
  3. Running
    1. Application
    2. Tests
  4. Built With
  5. Authors
  6. License

Introduction

Main functionalities: it collects the individual contributions of the developers and analyzes the impact of commits in Java projects.

Next steps:

  • Implement unit tests
  • Refactoring design to reach a sustainable level of maintainability
    • Change functions based view for class based views
    • Separate views from user cases
    • Bring some logic to models

Getting Started

Choose a local directory and clone this repository using:

> git clone https://github.com/renatabrasil/mining_my_repository.git

Prerequisites

Running

Instructions for running the application and testing.

Application

> python manage.py migrate
> python manage.py loaddata init.yaml
> python manage.py runserver

With docker

> docker-compose up --build
Logs
> http://localhost:3000

Loki query:

> {container_name="mining_my_repository_app_1"} | json

Tests

To run django unit tests:

> python manage.py test

To run and generate coverage report:

> coverage run manage.py test <module - or empty to run for all Apps>

To generate test coverage report:

> coverage html

Built With

  • PyDriller - Python Framework to analyse Git repositories

Authors

  • Renata Brasil

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details

About

Mining My Repository is an application developed to study the individual contributions of developers to projects that use Git. It is also useful for analyzing the impact of commits in Java projects.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages