{"id":50740253,"url":"https://github.com/marcinwitnik/tasks-compose-app","last_synced_at":"2026-06-10T16:32:18.048Z","repository":{"id":306119149,"uuid":"1025069246","full_name":"marcinwitnik/tasks-compose-app","owner":"marcinwitnik","description":"Aplikacja do zarządzania notatkami stworzona w architekturze MVVM, z wykorzystaniem Jetpack Compose, Room i Kotlin Coroutines. Przejrzysty interfejs, łatwa obsługa, lokalna baza danych i tryb ciemny.","archived":false,"fork":false,"pushed_at":"2025-07-23T17:51:40.000Z","size":122,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-23T20:23:00.285Z","etag":null,"topics":["android","dark-theme","jetpack-compose","kotlin","note-taking","notes","notes-app","room"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcinwitnik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-23T17:10:01.000Z","updated_at":"2025-07-23T18:00:02.000Z","dependencies_parsed_at":"2025-07-23T20:23:57.568Z","dependency_job_id":"54b384bc-118f-4dae-adac-d9dca4a996bb","html_url":"https://github.com/marcinwitnik/tasks-compose-app","commit_stats":null,"previous_names":["marcinwitnik/tasks-compose-app"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/marcinwitnik/tasks-compose-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcinwitnik%2Ftasks-compose-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcinwitnik%2Ftasks-compose-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcinwitnik%2Ftasks-compose-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcinwitnik%2Ftasks-compose-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcinwitnik","download_url":"https://codeload.github.com/marcinwitnik/tasks-compose-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcinwitnik%2Ftasks-compose-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34161283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"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":["android","dark-theme","jetpack-compose","kotlin","note-taking","notes","notes-app","room"],"created_at":"2026-06-10T16:32:16.310Z","updated_at":"2026-06-10T16:32:18.035Z","avatar_url":"https://github.com/marcinwitnik.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003ch1 align=\"center\"\u003e\u003cimg src=\"https://img.icons8.com/ios-filled/50/FFFFFF/android.png\" height=\"22px\" /\u003e Aplikacja Mobilna: Lista Zadań w Kotlin\u003c/h1\u003e\n\nTen projekt to **prosta i funkcjonalna aplikacja mobilna do zarządzania listą zadań (TODO)**, stworzona w języku Kotlin z wykorzystaniem Android Studio. Pozwala użytkownikowi na dodawanie i edytowanie notatek. Dane przechowywane są lokalnie za pomocą **Room Database**. Aplikacja została stworzona z wykorzystaniem wzorca architektonicznego **MVVM**, co zapewnia przejrzystość i łatwość w rozbudowie projektu.\n\n---\n\n## \u003cimg src=\"https://img.icons8.com/pastel-glyph/64/FFFFFF/code--v2.png\" height=\"22px\" /\u003e Technologie i środowisko\n\n- **Język:** [![Kotlin](https://img.shields.io/badge/Kotlin-7F52FF?style=flat\u0026logo=kotlin\u0026logoColor=white)](https://kotlinlang.org/docs/home.html)\n- **Środowisko IDE:** [![Android Studio](https://img.shields.io/badge/Android%20Studio-3DDC84?style=flat\u0026logo=android-studio\u0026logoColor=white)](https://developer.android.com/studio)  \n- **Running devices:** samsung SM-A346B •  \n- **Biblioteki:**\n  - Room – lokalna baza danych do przechowywania zadań\n  - LiveData – obserwowalność zmian danych\n  - ViewModel – logika biznesowa oddzielona od widoku\n  - RecyclerView – efektywne renderowanie listy zadań\n  - Material Components – stylizacja aplikacji\n  - Navigation Component – zarządzanie nawigacją między ekranami\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cimg src=\"https://img.icons8.com/ios-filled/50/FFFFFF/pin.png\" height=\"22px\"/\u003e Funkcje programu (kliknij, aby rozwinąć)\u003c/summary\u003e\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e📄 \u003cstrong\u003e\u003cspan style=\"color:#4a90e2\"\u003eMainActivity.kt\u003c/span\u003e\u003c/strong\u003e – główna aktywność (kliknij, aby rozwinąć)\u003c/summary\u003e\n\n- Inicjalizuje całą aplikację Compose.\n- Ustawia motyw (jasny/ciemny) z możliwością przełączania.\n- Obsługuje nawigację pomiędzy ekranami listy i edycji notatek.\n- Inicjalizuje bazę danych i ViewModel z repozytorium.\n- Przykładowo usuwa wszystkie notatki przy starcie (do testów).\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e📄 \u003cstrong\u003e\u003cspan style=\"color:#7b8d8e\"\u003eNote.kt\u003c/span\u003e\u003c/strong\u003e – model danych (kliknij, aby rozwinąć)\u003c/summary\u003e\n\n- Klasa danych reprezentująca notatkę.\n- Oznaczona jako `@Entity` dla Room Database.\n- Pola: `id`, `title`, `content`.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e📄 \u003cstrong\u003e\u003cspan style=\"color:#9b59b6\"\u003eNoteDao.kt\u003c/span\u003e\u003c/strong\u003e – interfejs DAO (kliknij, aby rozwinąć)\u003c/summary\u003e\n\n- Udostępnia operacje na bazie danych:\n  - `getAllNotes()`: zwraca wszystkie notatki jako `Flow\u003cList\u003cNote\u003e\u003e`\n  - `getNoteById(id)`: pobiera notatkę po ID\n  - `addNote(note)`: dodaje lub aktualizuje notatkę\n  - `deleteNote(note)`: usuwa notatkę\n  - `deleteAllNotes()`: usuwa wszystkie notatki\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e📄 \u003cstrong\u003e\u003cspan style=\"color:#2ecc71\"\u003eNoteDatabase.kt\u003c/span\u003e\u003c/strong\u003e – konfiguracja bazy danych (kliknij, aby rozwinąć)\u003c/summary\u003e\n\n- Tworzy bazę danych Room z encją `Note` i DAO `NoteDao`.\n- Zawiera mechanizm singletonowy dla jednej instancji bazy.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e📄 \u003cstrong\u003e\u003cspan style=\"color:#f39c12\"\u003eNoteRepository.kt\u003c/span\u003e\u003c/strong\u003e – warstwa pośrednia (kliknij, aby rozwinąć)\u003c/summary\u003e\n\n- Oddziela logikę bazodanową od ViewModelu.\n- Udostępnia metody `addNote`, `getNoteById`, `deleteNote`, `deleteAllNotes`.\n- `notes`: przepływ wszystkich notatek jako `Flow\u003cList\u003cNote\u003e\u003e`.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e📄 \u003cstrong\u003e\u003cspan style=\"color:#e67e22\"\u003eNoteViewModel.kt\u003c/span\u003e\u003c/strong\u003e – logika widoku (kliknij, aby rozwinąć)\u003c/summary\u003e\n\n- Łączy repozytorium z interfejsem UI.\n- Przechowuje i aktualizuje listę notatek oraz notatkę aktualnie edytowaną.\n- Udostępnia metody: `addNote`, `updateNote`, `deleteNote`, `loadNote`, `clearCurrentNote`.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e📄 \u003cstrong\u003e\u003cspan style=\"color:#3498db\"\u003eAddEditNoteScreen.kt\u003c/span\u003e\u003c/strong\u003e – ekran dodawania/edycji notatki (kliknij, aby rozwinąć)\u003c/summary\u003e\n\n- Dynamiczny ekran służący do dodawania lub edytowania notatki.\n- Obsługuje wprowadzenie tytułu i treści notatki.\n- Używa ViewModelu do załadowania notatki i zapisania zmian.\n- Zawiera przyciski: „Zapisz” i „Anuluj”.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e📄 \u003cstrong\u003e\u003cspan style=\"color:#1abc9c\"\u003eNoteListScreen.kt\u003c/span\u003e\u003c/strong\u003e – ekran listy notatek (kliknij, aby rozwinąć)\u003c/summary\u003e\n\n- Wyświetla listę wszystkich notatek.\n- Umożliwia przejście do ekranu edycji po kliknięciu na notatkę.\n- Zawiera przycisk do przełączenia motywu (jasny/ciemny).\n- Posiada `FloatingActionButton` do dodawania nowych notatek.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e📄 \u003cstrong\u003e\u003cspan style=\"color:#8e44ad\"\u003eNoteCard.kt\u003c/span\u003e\u003c/strong\u003e – komponent UI notatki (kliknij, aby rozwinąć)\u003c/summary\u003e\n\n- Komponent wyświetlający pojedynczą notatkę w formie karty.\n- Umożliwia kliknięcie i przejście do edycji notatki.\n- Styl oparty na Material3 z tytułem i treścią.\n\n\u003c/details\u003e\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cimg src=\"https://img.icons8.com/ios-filled/50/FFFFFF/camera.png\" height=\"22px\"/\u003e Podgląd działania (kliknij, aby rozwinąć)\u003c/summary\u003e\n\nPoniżej przykładowe wyniki działania aplikacji:\n\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"foto1.jpg\" width=\"300\"/\u003e\n  \u003cimg src=\"foto2.jpg\" width=\"300\"/\u003e\n  \u003cimg src=\"foto3.jpg\" width=\"300\"/\u003e\n  \u003cimg src=\"foto4.jpg\" width=\"300\"/\u003e\n  \u003cimg src=\"foto5.jpg\" width=\"300\"/\u003e\n\u003c/p\u003e\n  \n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcinwitnik%2Ftasks-compose-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcinwitnik%2Ftasks-compose-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcinwitnik%2Ftasks-compose-app/lists"}