mpfmorawski / git-to-know-me

3 stars 1 forks source link

Przemyślenie, co będzie dokładnie agregowane #2

Closed mpfmorawski closed 2 years ago

mpfmorawski commented 2 years ago

Opisać jakich danych potrzebujemy dla wymienionych przez nas funkcjonalności.

Jakich danych potrzebujemy, aby dana funkcjonalność działała poprawnie?

Przykład: chcemy umieścić dane o używanych językach przez użytkownika -> potrzebujemy informacji o językach z repozytoriów.

Ogarnąć praktyczne wyciąganie danych.

jprokopczuk commented 2 years ago

Agregowane dane

Zbiór agregowanych danych w projekcie.

Dane do funkcjonalności podstawowych

  1. Języki programowania użytkownika. StackOverflow - języki github api
  2. Liczba forków.
  3. Liczba gwiazdek.
  4. Lista repozytoriów, w których udziela się dany użytkownik, a wraz z tym:
    1. dane o popularności danego repozytorium:
      • liczba gwiazdek danego repozytorium, ☑
      • liczba forków danego repozytorium,
      • liczba obserwujących repozytorium,
      • liczba kontrybutorów.
    2. dane o ilości commitów wykonanych przez użytkownika w danym repozytorium (miara wkładu użytkownika),
    3. data ostatniego commita w danym repozytorium dokonana przez użytkownika,
    4. języki używane w danym projekcie przez użytkownika (podział na procentowe udziały danego języka),
    5. nazwa repozytorium,
    6. URL repozytorium,
    7. logo repozytorium,
    8. właściciel repozytorium.
  5. "Profilowe" użytkownika.
  6. Informacja o autoryzacji danych użytkownika (OAuth).

Dane do funkcjonalności rozszerzonych

Punkt do dopracowania

  1. Ujęcie czasowe (daty [i godziny] commitów).
  2. Statystyki ze StackOverflow:
    • Answers
    • Questions
    • Responses
    • Articles
    • Badges
jprokopczuk commented 2 years ago

Z powyższej listy wnika, że część danych się wzajemnie przeplata (patrz pkt 1 i pkt 4.iv).Wysłucham sugestii, jak można zapisać to inaczej.

@pktiuk, co do liczby gwiazdek użytkownika, wspominałeś, że istnieje pewien problem, że nie wszystkie gwiazdki są liczone dla danego użytkownika w innych rozwiązaniach do statystyk. Możesz to rozwinąć/przypomnieć? Czy wpływa to na powyższa listę agregowanych danych?

mpfmorawski commented 2 years ago

Moim zdaniem warto również uwzględnić zebranie podstawowych metadanych repozytoriów (jak chociażby ich nazwę, URL, żeby mieć możliwość ich wyświetlenia). Ponadto dobrze byłoby wstępnie rozejrzeć się, czy dane te są łatwe do uzyskania.

jprokopczuk commented 2 years ago

Na obecną chwilę wypisałem to co wynika z naszych założeń, także nie jestem w stanie powiedzieć, czy na pewno wszystkie dane są łatwe do wyciągnięcia ;) . Jak na razie sprawdziłem tylko część z nich pod tym kątem w dokumentacji.

pktiuk commented 2 years ago

@jprokopczuk

nie wszystkie gwiazdki są liczone dla danego użytkownika w innych rozwiązaniach do statystyk

Na ogół liczone są tylko gwiazdki repozytoriów danego użytkownika, ale zebrane przez organizacje należące danego użytkownika nie są wliczone.
Alt eo jest raczej zadanie dodatkowe na później

mpfmorawski commented 2 years ago

Dokończenie zadania w tym Issue polegało będzie na praktycznym zapoznaniu się z pobieraniem danych opisanych w tym wątku (wstępny termin: 10.04.2022)

mpfmorawski commented 2 years ago

@jprokopczuk poprosił mnie o przedłużenie czasu na zadanie o kilka dni. Ze względu na to, że nie opóźnia to nikogo innego, zgodziłem się. Przedłużony termin to czwartek (14.04.2022), 12:00.

jprokopczuk commented 2 years ago

Przydatne linki

Rozszerzenie do Google Chrome do ładnego wyświetlania JSONów

Szybki tutorial do obsługi GitHub API z użyciem JavaScript

API GitHub endpoints

Komentarz będzie edytowany, aby nic mi przypadkiem nie uciekło :).

cdn...

pktiuk commented 2 years ago

Rozszerzenie do Google Chrome do ładnego wyświetlania JSONów

Nie używaj tego.
Do zabawy z JSONami wystarczy vscode.
A jeśli chcesz wysyłać zapytania do gita to tu też vscode ewentualnie polecana jest insomnia

mpfmorawski commented 2 years ago

Uzupełnianie baz danych: https://fastapi.tiangolo.com/tutorial/sql-databases/

jprokopczuk commented 2 years ago

Po uzgodnieniu z @mpfmorawski zamykam Issue. Prace będą kontynuowane w #9, skupiając się tylko na najważniejszych na ten moment elementach.