GithubHelp home page GithubHelp logo

reposense / reposense Goto Github PK

View Code? Open in Web Editor NEW
231.0 12.0 153.0 93.3 MB

Contribution analysis tool for Git repositories

Home Page: https://reposense.org

License: MIT License

Java 70.21% JavaScript 9.64% Shell 1.01% SCSS 1.56% HTML 0.05% Vue 14.06% TypeScript 3.22% CSS 0.08% Batchfile 0.17%
contribution-analysis code-review author-statistics git-statistics repository-management

reposense's Introduction

RepoSense

Build Status codecov.io Netlify Status

RepoSense is a contribution analysis tool for Git repositories. It is particularly useful for those who want a chronological visualisation of the code contributions and commits made to a group of repositories. Educators can use RepoSense to track the work done in class projects, while team leads may use it to oversee their project teams.


Our Contributors :

Acknowledgements: The web previews of RepoSense is powered by Netlify and Surge.

reposense's People

Contributors

0blivious avatar anubh-v avatar apoorva17 avatar asdfghjkxd avatar chan-j-d avatar chel-seyy avatar ckcherry23 avatar damithc avatar dcshzj avatar eugenepeh avatar fzdy1914 avatar gerhean avatar gok99 avatar harryggg avatar hcy123902 avatar jamessspanggg avatar jinyao-lee avatar jonasongg avatar jq1836 avatar marcustxk avatar myteo avatar ongspxm avatar skyblaise99 avatar sopa301 avatar tejas2805 avatar vvidday avatar yamidark avatar yhtminceraft1010x avatar yong24s avatar zhoukerrr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reposense's Issues

Show more details of the current author

image

Details shown on the code panel can be same as the details shown in the name list on the left, for easier matching. But it is ok to show the github username in addition.

Make author name look clickable

image

The current version doesn't look clickable. i.e., mouse icon doesn't change when hovering over.

Also, we can add a small icon to the end of the name to give a target for the user to click.

  1. CS2103JAN2018-W10-B4/main/NG JU...N WEI ▶️

Support multiple repos for one author

In some projects/courses, students work on multiple repos. It is nice to be able to aggregate activities of a student on multiple repos in one chart.

Note: this feature is unlikely to be in v1, but keep this in mind when making architectural decisions.

File name with spaces

CommandRunner has trouble processing file name with spaces. Need to add escape character. Note: Windows and UNIX have different escape characters.

Code display: collapse 'untouched' code

We can reduce the scrolling needed if there is a way to collapse code segments that are not touched by the author, for example, similar to how GitHub diff view does it.

image

Automate publishing the report

When this is being used for real, I expect we need to update the report at least daily. It would be nice if there is a way to automate that. Minimally a script that we can run manually (or schedule using the OS).

Report: add padding on the right

Adding a little padding on the right (similar to left) makes it easier on the eye. Otherwise it looks like part of the chart is hidden.

image

Code view: cosmetic tweaks to panel headings

Things to try:

  • smaller font
  • a more subdued background color
  • no border (in fact, try getting rid of all border lines everywhere in the code view. They are visual clutter that we can do without, in most cases)

image

vs

image

Ramp size is proportional to LoC

These 4 appear the same size but the LoC of them are vastly different. The size is proportional to what? LoC or something else?
image

Choice of unique identifier for authors

In the current implementation, I used Github ID as the unique identifier, which means that students have to set their author name in local .gitconfig to their Github ID.
After asking a few of my friends and observation from dogfood test, it seems that most of the students prefer to customize their author name, and are reluctant to change it to their Github ID. However, they are okay with setting their local author EMAIL to their Github email. In fact, most of them seem to do so already.
It is better if we check for both author email and name in analyzer, and see match whichever we can. (Need to check whether its possible, if not possible, matching email is still a better solution than matching Github ID)

Omit dates from bookmark URL

I'm not sure if we should include the start/end dates in the bookmark URL. The dates are likely to change as the page is updated regularly while the bookmark should remain fixed over the semester.

Possible names for the tool

I'd rather not have 'Grader' in the name as the tool doesn't do any grading, plus grading has negative connotations. No idea for a better name though. Some of the good names seems to have been taken already.

Show date as dd/mm/yyyy

The format used in the CLI command is dd/mm/yyyy. We should use the same format in the report.

image

Grey out the code of others, not the owner's

Currently, we use a grey background to indicate lines written by the student, which makes those lines harder to read. Perhaps we should grey out the rest of the lines instead?

Show some untouched for to provide context

Suggestions:
image

Similar to how GitHub does it, we can show top and bottom n lines of the untouched-code to provide context for the touched-code. That also means collapse only chunks that are longer than 2n.

Move search bar to top row

This can save vertical space

image

You can also shorten/remove some of the labels to save space. e.g.,
Time interval: [daily] Start date: [] End date: [] can be period: [ ] - [ ] (daily)

Allow bookmarking by filter

e.g., https://harryggg.github.io/index.html?search=f11B3&interval=daily

That way, tutors can create a filter for their teams (and the view they want to see) and bookmark it.

Collapsed chunks: cosmetic tweaks

image

Collapsed chunks should not attract too much attention
Things to try:

  • Remove boarder
  • Use grey, non-bold text
  • Use a glyphicon or symbols instead of text e.g.,

    ← · · · →

Number the student list

If you number the student list, it is easier to see how many students are being shown in the report.

Generate collated files

It would be useful for the tool to spit out the collated code as one file per person (similar to the collate tool) so that this tool completely replaces collate.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.