{"id":32653267,"url":"https://github.com/piotrl/master-thesis","last_synced_at":"2025-10-31T08:17:59.036Z","repository":{"id":28502784,"uuid":"32019247","full_name":"piotrl/master-thesis","owner":"piotrl","description":"🎓 Measure how music influences your productivity - Last'fm and RescueTime based.","archived":false,"fork":false,"pushed_at":"2017-06-14T23:16:33.000Z","size":5677,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-15T02:02:47.172Z","etag":null,"topics":["aggregation","master-thesis","productivity"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/piotrl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-11T13:32:39.000Z","updated_at":"2017-11-24T19:57:21.000Z","dependencies_parsed_at":"2022-09-03T14:42:20.320Z","dependency_job_id":null,"html_url":"https://github.com/piotrl/master-thesis","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/piotrl/master-thesis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrl%2Fmaster-thesis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrl%2Fmaster-thesis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrl%2Fmaster-thesis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrl%2Fmaster-thesis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/piotrl","download_url":"https://codeload.github.com/piotrl/master-thesis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrl%2Fmaster-thesis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281953701,"owners_count":26589201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-31T02:00:07.401Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aggregation","master-thesis","productivity"],"created_at":"2025-10-31T08:17:55.576Z","updated_at":"2025-10-31T08:17:59.031Z","avatar_url":"https://github.com/piotrl.png","language":"Java","readme":"## Analiza wpływu nawyków muzycznych na aktywności wykonywane przy komputerze\n\n#### Piotr Lewandowski\n\n### Słowa Kluczowe\nAggregation, Data Integration, Visualisation, API, PostgreSQL, Java, JavaScript\n\n### Streszczenie\nW ramach pracy magisterskiej napisano aplikację internetową,\nwdrożoną na chmurze Digital Ocean pod adresem http://mgr.piotrl.net:8080\nz przygotowanymi danymi testowymi (user: test, password: test).\n\nAplikacja umożliwia import danych użytkownika z dwóch serwisów,\nRescueTime — lista aktywności oraz\nLast.fm — lista odsłuchiwanych utworów.\nPobrane dane są połączone na wspólnej osi czasu i wizualizowane pod różnymi względami za pomocą wykresów oraz tabel.\n\nMechanizm agregacji napisany jest w języku Java i frameworku Spring,\ndane przechowywane są w bazie danych PostgreSQL,\na warstwa wizualna została stworzona w frameworku Material Design oraz JavaScript,\ndo generowania wykresów użytko biblioteki Google Charts.\n\nKod znajduje się w prywatnym repozytorium GIT (pod adresem http://github.com/piotrl/master-thesis),\npytania o dostęp lub o pracę można kierować na mail: mail@piotrl.net. \n\n### Spis treści\n0. Wprowadzenie\n1. Import danych\n    1. Wybór dostawców danych\n    2. Mechanizm importu danych\n    3. Komunikacja z API    \n3. Analiza danych\n    1. Opis zebranych danych\n    2. Korekta\n    3. Integracja źródeł danych\n4. Wizualizacja danych\n    1. Budowa raportów na podstawie szeregów czasowych\n    2. Wybór metod wizualizacji danych\n4. Architektura\n    1. Testy jednostkowe\n    2. Stos technologiczny\n\n### Wprowadzenie\n\nWłaśnie słucham playlisty z muzyką która pomaga mi się skupić podczas pisania tego wstępu.\nGdy programuję, zwykle słucham muzyki innej niż podczas pisania ---\nw pracy, by się odciąć od zewnętrznych dźwięków, a w domu, by się odpowiednio nastroić.\nGdy mam trudny problem do rozwiązania to preferuję absolutną ciszę.\n\nPodobnie jak ponad 36 tysięcy innych programistów odpowiadających na pytania w corocznej ankiecie StackOverflow.\nW pytaniu \"Ideal Auditory Environment for Coding\"\nwięszkość badanych słucha muzyki, duży odsetek preferuje skrajną ciszę w pracy, natomiast niewielu preferuje rozpraszacze w tle:\n\n- 59.6\\% --- Turn on some music\n- 24.2\\% --- Keep the room absolutely quiet\n- 7.1\\% --- Put on some ambient sounds (e.g. whale songs, forest sounds)\n- 3.5\\% --- Something else\n- 3.2\\% --- Put on a movie or TV show\n- 2.3\\% --- Turn on the news or talk radio\n\nWill Henshall na konferencji TEDx stwierdza, że m.in. muzyka klasyczna i Elektro pozytywnie sprzyjają na skupienie,\nnatomiast instrumenty brzmiące jak ludzki głos, wokal i elektryczna gitara rozpraszają naszą uwagę.\nWideo obejrzano ponad 400 tysięcy razy, a koncepcja została rozwinięta w projekcie\nFocus@Will.\n\nPróbuję zweryfikować te założenia przez stworzenie aplikacji, która analizuje moje własne aktywności i muzykę, którą słucham.\nJednym z mierników, którym się posługuję jest\n\"Attention Span\".\nDla uproszczenia tego projektu, przyjmuję założenie, że \"Attention Span\" to czas od początku rozpoczęcia zadania do momentu zmiany aktywnego okna.\n\nCelem pracy jest opis pełnego procesu budowy aplikacji opartej o analizę danych wraz z ich interpretacją i wizualizacją.\n\nOpis zaczynam od mechanizmu importu danych z zewnętrznych źródeł, w którym charakteryzuję sposób komunikacji z dostawcami API\noraz definiuję problemy, którym należy stawić czoła przy budowie agregatora danych.\n\nW drugim rozdziale przeprowadzam analizę zebranych danych, zaczynając od zapoznania specyfiki struktury danych w bazie\noraz przeprowadzenia ogólnej statystki, by zobrazować skalę, po której się poruszam.\nOpisałem, w jaki sposób przeprowadzam korektę w przypadku duplikatów, niepełnych lub błędnych danych.\n\nRozdział trzeci zawiera przedstawienie zwizualizowanych efektów analizy w postaci wykresów i screenshotów z aplikacji.\nDefiniowaniuję sposób budowania zapytań SQL, by zwracały odpowiednio uszeregowane dane w czasie z wybranym interwałem.\n\nRozdział czwarty poświęcam architekturze projektu, użytych narzędzi oraz instrukcję uruchomienia projektu lokalnie lub na serwerze.\n\nRysunki i tabele są opracowania własnego, chyba że oznaczyłem inaczej.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrl%2Fmaster-thesis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiotrl%2Fmaster-thesis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrl%2Fmaster-thesis/lists"}