{"id":31770967,"url":"https://github.com/nicola-frattini/glucotrack","last_synced_at":"2026-07-08T10:31:45.505Z","repository":{"id":317499318,"uuid":"1056181826","full_name":"nicola-frattini/GlucoTrack","owner":"nicola-frattini","description":"Diabites management application, built as a project for Università degli studi di Verona\"","archived":false,"fork":false,"pushed_at":"2026-03-18T14:12:51.000Z","size":2511,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-19T04:54:50.711Z","etag":null,"topics":["java","java-fx-application","javafx-project","managment-tool","software-engineering"],"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/nicola-frattini.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-13T15:00:51.000Z","updated_at":"2026-03-18T14:17:19.000Z","dependencies_parsed_at":"2025-10-01T10:13:44.639Z","dependency_job_id":"73e779c1-49f6-4706-8c28-2e34d23c43bd","html_url":"https://github.com/nicola-frattini/GlucoTrack","commit_stats":null,"previous_names":["nicola-frattini/glucotrack"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nicola-frattini/GlucoTrack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicola-frattini%2FGlucoTrack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicola-frattini%2FGlucoTrack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicola-frattini%2FGlucoTrack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicola-frattini%2FGlucoTrack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicola-frattini","download_url":"https://codeload.github.com/nicola-frattini/GlucoTrack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicola-frattini%2FGlucoTrack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35262336,"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-07-08T02:00:06.796Z","response_time":61,"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":["java","java-fx-application","javafx-project","managment-tool","software-engineering"],"created_at":"2025-10-10T03:18:16.893Z","updated_at":"2026-07-08T10:31:45.500Z","avatar_url":"https://github.com/nicola-frattini.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GlucoTrack\n\nA JavaFX desktop application for diabetes management, built to support **patients**, **doctors**, and **administrators** through role-based dashboards and local clinical data persistence.\n\nProject made for the \"Software Engineer\" module at \"Università degli studi di Verona\"\n\n## Table of Contents\n\n- [Project Overview](#project-overview)\n- [Key Features](#key-features)\n- [Technology Stack](#technology-stack)\n- [Repository Structure](#repository-structure)\n- [Getting Started](#getting-started)\n- [Running Tests](#running-tests)\n- [Database](#database)\n- [UI and Navigation](#ui-and-navigation)\n- [Architecture Notes](#architecture-notes)\n- [Documentation](#documentation)\n- [Current Development Focus](#current-development-focus)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Project Overview\n\nGlucoTrack is a multi-role desktop system focused on day-to-day diabetes care workflows:\n\n- Patients can track glucose readings, symptoms, and therapies.\n- Doctors can review patient-related data and manage treatments.\n- Administrators can perform user-management operations.\n\nThe project is implemented in Java with JavaFX (FXML + CSS) and uses SQLite for local persistence.\n\n## Key Features\n\n### Authentication and Role Routing\n\n- Login and registration user flows.\n- Session-based access control and role-aware navigation.\n- Dedicated dashboards for patient, doctor, and admin roles.\n\n### Patient Workflows\n\n- Dashboard home and section navigation.\n- Glucose entries (insert/edit/list).\n- Symptom entries (insert/edit/list).\n- Medication-related views and tracking.\n\n### Doctor Workflows\n\n- Doctor dashboard and patient-oriented sections.\n- Patient list and profile-driven interactions.\n- Medication insertion/editing flows.\n\n### Admin Workflows\n\n- Admin dashboard and management pages.\n- User insertion and administrative control views.\n\n## Technology Stack\n\nFrom `pom.xml` and project sources:\n\n- **Language:** Java\n- **UI:** JavaFX 21.0.8 (`javafx-controls`, `javafx-fxml`, `javafx-graphics`, `javafx-base`)\n- **Database:** SQLite (`sqlite-jdbc` 3.43.2.2)\n- **Serialization/Utility:** Gson 2.10.1\n- **Build Tool:** Maven\n- **Testing:** JUnit Jupiter 5.9.3\n- **Compiler target:** Java 16 (`maven-compiler-plugin` source/target set to 16)\n\n## Repository Structure\n\n```text\nsrc/\n  main/\n    java/it/glucotrack/\n      Main.java\n      component/\n      controller/\n      model/\n      util/\n      view/\n    resources/\n      assets/\n        css/\n        fxml/\n        icons/\n        Images/\n      database/\n        glucotrack_db.sqlite\n        Schema.sql\n  test/\n    java/it/glucotrack/\n      ControllerTest.java\n      DaoTest.java\n      ModelTest.java\n    resources/database/\n      SchemaTest.sql\n```\n\n## Getting Started\n\n### Prerequisites\n\n- JDK compatible with the project compiler target (`16+`)\n- Maven 3.8+\n- JavaFX runtime configured in your IDE or local environment\n\n### Build\n\n```bash\nmvn clean package\n```\n\n### Run\n\nPrimary entry point:\n\n- `it.glucotrack.Main`\n\nTypical development workflow is to run the app from an IDE with JavaFX runtime parameters configured.\n\n## Running Tests\n\n```bash\nmvn test\n```\n\nTest classes are located in `src/test/java/it/glucotrack/`.\n\n## Database\n\nThe application uses SQLite with schema and DB files under `src/main/resources/database/`.\n\n- Schema: `src/main/resources/database/Schema.sql`\n- Default DB path used in code: `src/main/resources/database/glucotrack_db.sqlite`\n\nMain schema tables include:\n\n- `users`\n- `glucose_measurements`\n- `medications`\n- `log_medications`\n- `patient_symptoms`\n- `risk_factors`\n- `medication_edits`\n\n## UI and Navigation\n\n- FXML views are stored in `src/main/resources/assets/fxml/`.\n- CSS styles are stored in `src/main/resources/assets/css/`.\n- `Main` initializes the database, sets app icon/stage defaults, and navigates to the login view through the navigator service.\n\n## Architecture Notes\n\nThe codebase follows an MVC-style organization and uses utility/service layers for data access and navigation.\n\n- `model`: domain entities and business objects\n- `controller`: JavaFX controllers and UI logic\n- `util`: database/session/helpers\n- `view`: navigation/view orchestration helpers\n\nProject documentation (`Relazione.md`) references additional patterns and design rationale used during development.\n\n## Contributing\n\n1. Create a dedicated feature branch.\n2. Keep commits small, focused, and descriptive.\n3. Run tests before opening a pull request.\n4. Include a concise summary of changed controllers/views/resources.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicola-frattini%2Fglucotrack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicola-frattini%2Fglucotrack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicola-frattini%2Fglucotrack/lists"}