/mining_my_repository

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.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

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