{"id":18171335,"url":"https://github.com/ajaen4/goth-complete-setup","last_synced_at":"2025-04-01T14:32:29.661Z","repository":{"id":260131361,"uuid":"880421238","full_name":"ajaen4/goth-complete-setup","owner":"ajaen4","description":"Complete project setup for Go + Tailwind + HTMX with hot reloading ","archived":false,"fork":false,"pushed_at":"2024-12-14T19:27:50.000Z","size":26,"stargazers_count":26,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T08:03:14.236Z","etag":null,"topics":["alpinejs","go","hot-reload","htmx","tailwindcss","templ"],"latest_commit_sha":null,"homepage":"","language":"Go","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/ajaen4.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":"2024-10-29T17:36:28.000Z","updated_at":"2025-03-29T18:30:57.000Z","dependencies_parsed_at":"2024-11-17T13:20:14.161Z","dependency_job_id":"e5f8066d-2d2e-45a1-90ba-c89308609fbe","html_url":"https://github.com/ajaen4/goth-complete-setup","commit_stats":{"total_commits":11,"total_committers":1,"mean_commits":11.0,"dds":0.0,"last_synced_commit":"5e41f263971ef7355dc2691db82b33a25c90183f"},"previous_names":["ajaen4/goth-complete-setup"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajaen4%2Fgoth-complete-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajaen4%2Fgoth-complete-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajaen4%2Fgoth-complete-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajaen4%2Fgoth-complete-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ajaen4","download_url":"https://codeload.github.com/ajaen4/goth-complete-setup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246655142,"owners_count":20812583,"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":["alpinejs","go","hot-reload","htmx","tailwindcss","templ"],"created_at":"2024-11-02T15:08:42.877Z","updated_at":"2025-04-01T14:32:29.656Z","avatar_url":"https://github.com/ajaen4.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 GOTH Stack Complete Setup\n\n[![Go Version](https://img.shields.io/badge/Go-1.23.2-00ADD8?style=flat-square\u0026logo=go)](https://golang.org/doc/go1.23)\n[![HTMX](https://img.shields.io/badge/HTMX-1.9.11-purple?style=flat-square)](https://htmx.org)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.4.1-38B2AC?style=flat-square\u0026logo=tailwind-css)](https://tailwindcss.com)\n[![Alpine.js](https://img.shields.io/badge/Alpine.js-3.13.7-2D3441?style=flat-square)](https://alpinejs.dev)\n[![Templ](https://img.shields.io/badge/Templ-0.2.778-red?style=flat-square)](https://templ.guide)\n\nA modern, fully configured starter template for building fast, type-safe web applications using Go, HTMX, Tailwind CSS, Alpine.js, and Templ. This stack provides an incredible developer experience with type safety from your database all the way to your HTML.\n\n## ✨ Features\n\n- **📜 Type-Safe Templates**: Using [Templ](https://templ.guide) for compile-time checked templates\n- **🔥 Hot Reload**: Using [Air](https://github.com/cosmtrek/air) for instant feedback during development\n- **🎨 HTMX + Tailwind**: [Modern, interactive UIs](https://htmx.org) without complex client-side JavaScript\n- **🛠️ Modern JS Utilities**: [Alpine.js](https://alpinejs.dev) for lightweight interactivity\n- **📱 Responsive Design**: [Mobile-first approach](https://tailwindcss.com) with Tailwind CSS\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Go v1.23.2 or higher\n- npm v10.9.0\n- node v23.2.0\n- Air v1.61.1\n- Templ CLI v0.2.778\n\n### Installation\n\nInstall dependencies:\n```bash\nnpm install\n```\n\n### Running Locally\n\nStart the development server:\n```bash\nmake run\n```\n\nThis will:\n- Start the Templ proxy server on the value of TEMPL_PROXY_PORT defined in the .env file.\n- Start the Go server on the value of APP_PORT, also defined in the .env file.\n- Enable hot reloading for all file changes.\n\nAccess the application at: \n```bash\nhttp://localhost:\u003cTEMPL_PROXY_PORT\u003e\n```\n\n### Running as Container\n\n1. Build the container:\n```bash\ndocker build -t \u003cimage-tag\u003e .\n```\n\n2. Run the container:\n```bash\ndocker run --rm \\\n  --env-file .env \\\n  -p \u003clocal-port\u003e:\u003capp-port\u003e \\\n  -t \u003cimage-tag\u003e\n```\n\nAccess the containerized application at:\n```bash\nhttp://localhost:\u003clocal-port\u003e\n```\n\nNote: The `\u003capp-port\u003e` should match the `APP_PORT` in your `.env` file.\n\n## In detail explanation\n\nThere is an in detail explanation of how the hot reloading works in [this](https://medium.com/ostinato-rigore/go-htmx-templ-tailwind-complete-project-setup-hot-reloading-2ca1ba6c28be) article.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajaen4%2Fgoth-complete-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajaen4%2Fgoth-complete-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajaen4%2Fgoth-complete-setup/lists"}