{"id":20087655,"url":"https://github.com/ginolatorilla/react-go-template","last_synced_at":"2026-04-10T12:31:30.687Z","repository":{"id":217100109,"uuid":"715909465","full_name":"ginolatorilla/react-go-template","owner":"ginolatorilla","description":"A web app template that uses ReactJS (frontend) and Gin (backend)","archived":false,"fork":false,"pushed_at":"2025-07-27T01:48:45.000Z","size":165,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-27T04:47:45.752Z","etag":null,"topics":["gin","gin-framework","go","javascript","js","project-template","react","reactjs","template","template-project","ts","typescript","vite","vite-react","vitejs","vitejs-react"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ginolatorilla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-11-08T04:29:50.000Z","updated_at":"2025-07-27T01:48:42.000Z","dependencies_parsed_at":"2024-01-14T15:41:01.158Z","dependency_job_id":"66ee496e-ea4b-4967-8352-f4d87890da19","html_url":"https://github.com/ginolatorilla/react-go-template","commit_stats":null,"previous_names":["ginolatorilla/react-go-template"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ginolatorilla/react-go-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ginolatorilla%2Freact-go-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ginolatorilla%2Freact-go-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ginolatorilla%2Freact-go-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ginolatorilla%2Freact-go-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ginolatorilla","download_url":"https://codeload.github.com/ginolatorilla/react-go-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ginolatorilla%2Freact-go-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31642686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["gin","gin-framework","go","javascript","js","project-template","react","reactjs","template","template-project","ts","typescript","vite","vite-react","vitejs","vitejs-react"],"created_at":"2024-11-13T16:06:00.726Z","updated_at":"2026-04-10T12:31:30.666Z","avatar_url":"https://github.com/ginolatorilla.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gino's ReactJS+Gin Project Template\n\n## UI\n\n- Project is bootstrapped using **Vite** with the following options: *React* and *TypeScript*.\n- **TailwindCSS** is the CSS framework (including Tailwind Forms).\n- **Prettier** plugin for TailwindCSS is enabled.\n- UI is **embedded** into the server.\n\nThe following subpaths in `ui/src/\u003cpath\u003e` are mapped to `@\u003cpath\u003e` in TypeScript\n\n- `assets`\n- `components`\n- `context`\n- `utils`\n\nThe UI *connects* to the server with helper functions defined in `ui/src/utils/server.ts`.\n\n## Server\n\n- **Gin** is the HTTP web framework with logging and CORS middlewares.\n- **Viper** for configuration.\n- **Zap** for server-side logging.\n- **Air** runs the server in a development reload loop (install first with `go install github.com/cosmtrek/air@latest`)\n\nThe server defines these routes:\n\n- `/` for the UI\n- `/api/v1/hello` for the API\n\n## VSCode integration\n\nVSCode will run the following tasks in the background (see `.vscode/tasks.json`):\n\n- `npm run dev`, which runs an auto-reloading development server for the UI at \u003chttp://localhost:5173\u003e.\n- `air`, which runs an auto-reloading development server for the *server* at \u003chttp://localhost:8080\u003e.\n\nThe UI connects to the server because it loads the server's address from `ui/.env.development`.\nAir runs the server with CORS enabled, which allows the requests from the UI (see `.air.toml`).\n\n## Customisation\n\n1. `ui/package*.json`: change `{\"name\": \"vite-project\"}` to your project's name.\n2. `go.mod`: change module path to your project's repo URL.\n3. `Makefile`: change `APP` to your project's name and `GITHUB_OWNER` to your GitHub username.\n4. `ui/vite.config.ts`: replace the `envPrefix` based on your app's name.\n5. `ui/src/utils/server.ts`: change environment variable prefixes (ie REACT_GO_TEMPLATE_*).\n\n## Configuration\n\nAll configuration is read from environment variables.\n\n| Key                                | Scope  | Description                                                                                     |\n| ---------------------------------- | ------ | ----------------------------------------------------------------------------------------------- |\n| `REACT_GO_TEMPLATE_SERVER_URL`     | UI     | The URL of the backend server.                                                                  |\n| `REACT_GO_TEMPLATE_LISTEN_ADDRESS` | Server | Binds the backend server to this address. Should be the same as `REACT_GO_TEMPLATE_SERVER_URL`. |\n| `REACT_GO_TEMPLATE_ENABLE_CORS`    | Server | Enables CORS. Useful if the client and server are running on different processes.               |\n\n## Building\n\nRun `make` to build the UI and the server. It will create `bin/\u003capp\u003e`, which contains both the server and UI.\n\nRun `make install` so you can run the server from anywhere.\n\nSee `make help` for more options.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fginolatorilla%2Freact-go-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fginolatorilla%2Freact-go-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fginolatorilla%2Freact-go-template/lists"}