{"id":26642668,"url":"https://github.com/bluke93/family-sub","last_synced_at":"2026-04-09T02:01:39.162Z","repository":{"id":284207386,"uuid":"929917163","full_name":"bluke93/family-sub","owner":"bluke93","description":"Simple app to manage shared subscriptions, automate renewal reminders, and calculate individual quotas dynamically.","archived":false,"fork":false,"pushed_at":"2025-03-24T17:41:04.000Z","size":111,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-18T15:48:09.562Z","etag":null,"topics":["html","nuxt","nuxtjs3","pinia","scss","supabase","typescript","vue","vue3"],"latest_commit_sha":null,"homepage":"https://fsm.baroneluca.com","language":"Vue","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/bluke93.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":"2025-02-09T17:42:26.000Z","updated_at":"2025-03-24T17:41:08.000Z","dependencies_parsed_at":"2025-03-24T18:52:19.323Z","dependency_job_id":null,"html_url":"https://github.com/bluke93/family-sub","commit_stats":null,"previous_names":["bluke93/family-sub"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bluke93/family-sub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluke93%2Ffamily-sub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluke93%2Ffamily-sub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluke93%2Ffamily-sub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluke93%2Ffamily-sub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bluke93","download_url":"https://codeload.github.com/bluke93/family-sub/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluke93%2Ffamily-sub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31581864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"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":["html","nuxt","nuxtjs3","pinia","scss","supabase","typescript","vue","vue3"],"created_at":"2025-03-24T19:21:04.252Z","updated_at":"2026-04-09T02:01:39.141Z","avatar_url":"https://github.com/bluke93.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Family Sub Manager\n\nA simple Vue 3/Nuxt application to track and manage shared subscription plans. Originally built to manage a Nintendo Switch Online Family Plan, but adaptable for any shared subscription.\n\n## Purpose\n\nUntil now, I managed my subscription manually by sending emails, WhatsApp, or Telegram messages to members. However, I didn't want to create a group, and people often replied late. This made it difficult to determine the final quota per person until the last moment.  \n\nWith this app, I aim to **centralize everything**, automate renewal reminders, and dynamically calculate each member's share based on how many people choose to renew. Also members can check by themselves the status of the subscription.\n\n## Features\n\n### For Subscription Owners (Leaders)\n- View subscription details: start date, end date, renewal date, and current members.\n- Invite new members.\n- Remove members.\n- Send renewal reminders and calculate each member's share of the cost.\n\n### For Members\n- View subscription details (start, end, total price, and personal quota).\n- Indicate renewal interest.\n\n### Subscription Details\n- Tracks start and end dates.\n- Shows total cost and split cost among members.\n- Late joiners only pay for remaining months before renewal.\n\n## Tech Stack\n- **Vue 3** / **Nuxt 3**\n- **TypeScript**\n- **SCSS**\n- **Pinia**\n- **Supabase**\n\n## Setup \u0026 Installation\n\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/bluke93/family-sub-manager.git\n   ```\n2. Install dependencies:\n   ```sh\n   cd family-sub-manager\n   npm install\n   ```\n3. Configure environment variables (Supabase credentials, etc.).\n\n   \n5. Run the development server:\n   ```sh\n   npm run dev\n   ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluke93%2Ffamily-sub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbluke93%2Ffamily-sub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluke93%2Ffamily-sub/lists"}