{"id":29099896,"url":"https://github.com/andyj/lucky-dice-rounds-app","last_synced_at":"2025-09-02T12:38:08.493Z","repository":{"id":294318054,"uuid":"986585451","full_name":"andyj/lucky-dice-rounds-app","owner":"andyj","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-19T21:14:35.000Z","size":252,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-28T17:48:05.350Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/andyj.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}},"created_at":"2025-05-19T20:40:21.000Z","updated_at":"2025-05-19T21:14:38.000Z","dependencies_parsed_at":"2025-05-20T02:15:42.724Z","dependency_job_id":null,"html_url":"https://github.com/andyj/lucky-dice-rounds-app","commit_stats":null,"previous_names":["andyj/lucky-dice-rounds-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andyj/lucky-dice-rounds-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyj%2Flucky-dice-rounds-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyj%2Flucky-dice-rounds-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyj%2Flucky-dice-rounds-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyj%2Flucky-dice-rounds-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andyj","download_url":"https://codeload.github.com/andyj/lucky-dice-rounds-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyj%2Flucky-dice-rounds-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273286761,"owners_count":25078564,"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","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"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":[],"created_at":"2025-06-28T17:37:45.618Z","updated_at":"2025-09-02T12:38:08.467Z","avatar_url":"https://github.com/andyj.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lucky Dice Rounds App\n\nA simple Progressive Web App to simulate Yahtzee-style dice rolling mechanics without scoring. Built with Vite, React, Tailwind CSS and Alpine.js, it rolls five dice (⚀–⚅), lets you hold any between up to three rolls per round, and keeps a ten-round history. The production build is output to `docs/` so you can deploy it as a live demo via GitHub Pages.\n\n---\n\n## Demo\n\nOnce built, you can serve the contents of `docs/` on GitHub Pages:\n\n```\nhttps://andyj.github.io/lucky-dice-rounds-app/\n```\n\n---\n\n## Features\n\n- Roll up to three times per round\n- Tap a die to hold or unhold it\n- Roll counter (e.g. Rolls: 1/3)\n- History of the last ten rounds\n- “Clear history” button\n- Fully offline-capable PWA (service worker + manifest)\n\n---\n\n## Prerequisites\n\n- Node.js ≥ 16\n- npm (or Yarn)\n- Git (to clone the repo)\n\n---\n\n## Getting Started\n\n1. **Clone the repo**\n   ```bash\n   git clone https://github.com/andyj/lucky-dice-rounds-app.git\n   cd lucky-dice-rounds-app\n   ```\n\n2. **Install dependencies**\n   ```bash\n   npm install\n   # or\n   yarn\n   ```\n\n3. **Run in development**\n   ```bash\n   npm run dev\n   # or\n   yarn dev\n   ```\n   Opens at `http://localhost:8080` by default.\n\n---\n\n## Build\n\nBy default Vite outputs to `dist/`. We’ve overridden that in `vite.config.js`:\n\n```js\nbuild: {\n  outDir: 'docs',\n  emptyOutDir: true,\n}\n```\n\nTo produce a production build:\n\n```bash\nnpm run build\n# or\nyarn build\n```\n\nYou’ll find the static files in `docs/`, ready to be published.\n\n---\n\n## Preview\n\nTo preview the production build locally:\n\n```bash\nnpm run preview\n# or\nyarn preview\n```\n\n---\n\n## Deployment (GitHub Pages)\n\n1. Push your `docs/` folder to the `gh-pages` branch, or configure GitHub to serve from the `docs/` folder on `main`.\n2. In your repo’s **Settings → Pages**, set **Source** to `main` branch and `/docs` folder.\n3. Save and visit your live site at `https://andyj.github.io/lucky-dice-rounds-app/`.\n\n---\n\n## NPM Scripts\n\n| Script       | Description                                  |\n| ------------ | -------------------------------------------- |\n| `dev`        | Start dev server (`localhost:8080`)          |\n| `build`      | Build for production into `docs/`            |\n| `build:dev`  | Build for dev mode (still into `docs/`)      |\n| `preview`    | Preview production build on local server     |\n| `lint`       | Run ESLint over the codebase                 |\n\n---\n\n## Technologies\n\n- **Framework:** React 18, Alpine.js\n- **Bundler:** Vite\n- **Styling:** Tailwind CSS\n- **PWA:** Web App Manifest, Service Worker\n- **History storage:** `localStorage` (pruned to 10 entries)\n\n---\n\n## Project Structure\n\n```\n├── docs/               # Production build (deploy to GitHub Pages)\n├── public/             # Static assets (icons, manifest.json)\n├── src/\n│   ├── components/     # React \u0026 Alpine.js components\n│   ├── styles/         # Tailwind CSS entry\n│   └── main.tsx        # App entry point\n├── vite.config.ts      # Vite configuration (build → docs/)\n├── package.json        # Scripts \u0026 dependencies\n└── tsconfig.json       # TypeScript config\n```\n\n---\n\n## Licence\n\nMIT © Andy Jarrett\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyj%2Flucky-dice-rounds-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandyj%2Flucky-dice-rounds-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyj%2Flucky-dice-rounds-app/lists"}