{"id":16293113,"url":"https://github.com/vogler/tasktime-2019","last_synced_at":"2025-03-20T03:31:01.778Z","repository":{"id":40798167,"uuid":"223168020","full_name":"vogler/tasktime-2019","owner":"vogler","description":"Sample task/time-tracking web-app to evaluate Svelte (reactive UI), Firebase (auth, hosted real-time document store), Bulma (CSS)","archived":false,"fork":false,"pushed_at":"2023-07-12T03:50:51.000Z","size":720,"stargazers_count":6,"open_issues_count":11,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T22:54:45.555Z","etag":null,"topics":["firebase","firebase-auth","firebase-firestore","firestore","svelte","time-tracker","time-tracking-app","timer","todo","todoapp"],"latest_commit_sha":null,"homepage":"https://github.com/vogler/web-tech","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/vogler.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}},"created_at":"2019-11-21T12:22:28.000Z","updated_at":"2022-10-01T03:16:51.000Z","dependencies_parsed_at":"2024-10-27T21:55:20.983Z","dependency_job_id":null,"html_url":"https://github.com/vogler/tasktime-2019","commit_stats":{"total_commits":71,"total_committers":2,"mean_commits":35.5,"dds":"0.028169014084507005","last_synced_commit":"4d965c8001f352b0f657b6698b6995c55e19d431"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vogler%2Ftasktime-2019","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vogler%2Ftasktime-2019/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vogler%2Ftasktime-2019/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vogler%2Ftasktime-2019/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vogler","download_url":"https://codeload.github.com/vogler/tasktime-2019/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244047647,"owners_count":20389206,"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":["firebase","firebase-auth","firebase-firestore","firestore","svelte","time-tracker","time-tracking-app","timer","todo","todoapp"],"created_at":"2024-10-10T20:10:15.197Z","updated_at":"2025-03-20T03:31:01.502Z","avatar_url":"https://github.com/vogler.png","language":"Svelte","readme":"# tasktime_svelte-firebase\n\nThis is a test project building some todo/time-tracking app using:\n- [Svelte](https://svelte.dev) as compiler for reactive UI components\n- [Firebase](https://firebase.google.com/) for Auth and Firestore\n- [Bulma](https://bulma.io/) for CSS\n\nTry it at https://fire-abc6b.web.app/\n\nEvaluation: not too happy with Svelte, Firebase is ok.\nDon't like Bulma since you have to add classes to everything and it has some strange defaults like making all headings `h1, h2...` look the same unless you add more redundant class names...\n\nCons Svelte:\n- no Typescript yet (or hard to setup)\n- editor support (no Intellisense for JS in .svelte files)\n- limited composability, file for every component\n- element list problem:\n  - immutable forces to handle all edits in list component instead of element component\n  - mutable allows to move functions into element component but makes all elements react to change in any element\n\nPro Firebase:\n- easy authentication (and restricted db access via `firestore.rules`)\n- Firestore:\n  - real-time (can subscribe to updates)\n  - offline support (even sync between tabs)\n\nCons Firebase:\n- vendor lock-in\n- can't test offline (`firebase serve` launches some server, but no local database)\n- limits; what happens for \u003e1 write/s, just queued/throttled?\n- https://firebase.google.com/docs/firestore/quotas\n  - per day: 1GiB, 50k read, 20k write -\u003e 13.88 writes/min\n  - soft limit: \u003e1 write/s: increased latency/conflicts\n\nMore notes in [devlog.md](./devlog.md).\n\n## develop\n\n```bash\nnpm install\nnpm run dev\n```\n\nOpen in browser; has live-reload.\n","funding_links":[],"categories":["Web-Based Time Tracking"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvogler%2Ftasktime-2019","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvogler%2Ftasktime-2019","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvogler%2Ftasktime-2019/lists"}