{"id":17055074,"url":"https://github.com/therolffr/activity-tracker","last_synced_at":"2025-04-12T17:07:50.457Z","repository":{"id":91419160,"uuid":"537892783","full_name":"TheRolfFR/activity-tracker","owner":"TheRolfFR","description":"Custom work activity tracker with Tauri, Rust and SvelteKit","archived":false,"fork":false,"pushed_at":"2024-09-22T18:04:54.000Z","size":1475,"stargazers_count":22,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-12T17:07:35.938Z","etag":null,"topics":["fluent","fluent-svelte","rust","svelte","sveltekit","tauri","ts-rs","typescript"],"latest_commit_sha":null,"homepage":"","language":"Svelte","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/TheRolfFR.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}},"created_at":"2022-09-17T18:11:19.000Z","updated_at":"2025-03-30T05:40:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"a2ede9fa-93b8-4262-b595-e2d33da74758","html_url":"https://github.com/TheRolfFR/activity-tracker","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRolfFR%2Factivity-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRolfFR%2Factivity-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRolfFR%2Factivity-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRolfFR%2Factivity-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheRolfFR","download_url":"https://codeload.github.com/TheRolfFR/activity-tracker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248602315,"owners_count":21131616,"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","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":["fluent","fluent-svelte","rust","svelte","sveltekit","tauri","ts-rs","typescript"],"created_at":"2024-10-14T10:16:41.334Z","updated_at":"2025-04-12T17:07:50.404Z","avatar_url":"https://github.com/TheRolfFR.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\r\n\u003cbr\u003e\r\n\u003cimg src=\"./Images/icon.png\" alt=\"logo\" width=\"128\" /\u003e\r\n\u003cbr\u003e\r\nActivity Tracker\r\n\u003c/h1\u003e\r\n\r\n\u003ch4 align=\"center\"\u003eCustom work activity tracker with \u003ca href=\"https://tauri.app/\" target=\"_blank\"\u003eTauri\u003c/a\u003e, \u003ca href=\"https://www.rust-lang.org/\" target=\"_blank\"\u003eRust\u003c/a\u003e and \u003ca href=\"https://kit.svelte.dev/\" target=\"_blank\"\u003eSvelteKit\u003c/a\u003e\u003c/h4\u003e\r\n\u003cbr\u003e\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n    \u003cimg src=\"./Images/activity-tracker.png\" /\u003e\r\n\u003c/div\u003e\r\n\r\n## Technologies\r\n\r\nFront-end: Svelte and \u003ca href=\"https://fluent-svelte.vercel.app/\" href=\"_blank\" \u003eFluent Svelte\u003c/a\u003e for visual components, \u003ca href=\"https://www.npmjs.com/package/svelte-tiny-linked-charts\" target=\"_blank\"\u003esvelte-tiny-linked-charts\u003c/a\u003e for charts visualization.\r\n\r\nBack-end: TypeScript bindings for Svelte are provided by the \u003ca href=\"https://crates.io/crates/ts-rs\" target=\"_blank\"\u003ets-rs\u003c/a\u003e crate. \r\nserde and serde_json for serialization. \u003ca href=\"https://crates.io/crates/rdev\" targret=\"_blank\"\u003erdev\u003c/a\u003e for global input events. \r\nMassive use of \u003ca href=\"https://doc.rust-lang.org/std/sync/mpsc/fn.channel.html\"\u003eMPSC channels\u003c/a\u003e in Rust code because data goes only one way.\r\n\r\n## How to develop\r\n\r\nRecommended IDE Setup:\r\n\r\n- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)\r\n\r\nPrepare your environment: follow the guide from https://tauri.app/v1/guides/getting-started/prerequisites.\r\n\r\nInstall JS and Rust dependencies\r\n\r\n```\r\npnpm install \u0026\u0026 cd src-tauri \u0026\u0026 cargo build\r\n```\r\n\r\nStart dev command from root project\r\n\r\n```\r\ncargo tauri dev\r\n```\r\ndepends on the package manager used to install tauri CLI.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherolffr%2Factivity-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftherolffr%2Factivity-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherolffr%2Factivity-tracker/lists"}