{"id":40785323,"url":"https://github.com/blackfyre/wga","last_synced_at":"2026-01-21T19:39:12.875Z","repository":{"id":196567580,"uuid":"696150442","full_name":"blackfyre/wga","owner":"blackfyre","description":"Jumping forward ~30 years","archived":false,"fork":false,"pushed_at":"2025-10-30T20:58:37.000Z","size":65873,"stargazers_count":190,"open_issues_count":17,"forks_count":12,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-30T22:28:06.374Z","etag":null,"topics":["daisy-ui","golang-application","hacktoberfest","pocketbase","tech-debt"],"latest_commit_sha":null,"homepage":"https://wga-uat.blackfyre.ninja/","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/blackfyre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["blackfyre"],"open_collective":"web-gallery-of-art","ko_fi":"blackfyre"}},"created_at":"2023-09-25T07:32:16.000Z","updated_at":"2025-10-22T15:50:01.000Z","dependencies_parsed_at":"2024-02-13T21:30:30.824Z","dependency_job_id":"7d9620c9-f09a-4d8e-bb7a-91baebf471af","html_url":"https://github.com/blackfyre/wga","commit_stats":null,"previous_names":["blackfyre/wga"],"tags_count":50,"template":false,"template_full_name":null,"purl":"pkg:github/blackfyre/wga","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackfyre%2Fwga","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackfyre%2Fwga/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackfyre%2Fwga/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackfyre%2Fwga/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blackfyre","download_url":"https://codeload.github.com/blackfyre/wga/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackfyre%2Fwga/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28641279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T18:04:35.752Z","status":"ssl_error","status_checked_at":"2026-01-21T18:03:55.054Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["daisy-ui","golang-application","hacktoberfest","pocketbase","tech-debt"],"created_at":"2026-01-21T19:39:12.812Z","updated_at":"2026-01-21T19:39:12.868Z","avatar_url":"https://github.com/blackfyre.png","language":"Go","funding_links":["https://github.com/sponsors/blackfyre","https://opencollective.com/web-gallery-of-art","https://ko-fi.com/blackfyre"],"categories":[],"sub_categories":[],"readme":"# Web Gallery of Art\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fblackfyre%2Fwga.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fblackfyre%2Fwga?ref=badge_shield)\n\n## Introduction\n\nThis repository contains the code for the Web Gallery of Art project. The project is a web application that allows users to browse through a collection of paintings, sculptures and other forms of Art. This project is intended to shave off the 3 decades of tech debt on the original website and provide a modern, responsive and user friendly experience with the same content.\n\n## Activity\n\n![Alt](https://repobeats.axiom.co/api/embed/9fd42cf5a4d13bf67b6ad9e58fe817130ebbf64f.svg \"Repobeats analytics image\")\n\n## Technologies\n\nThe project is built using the following technologies:\n\n- [htmx](https://htmx.org) - A javascript library for building web applications\n- [TailwindCSS](https://tailwindcss.com/) - A utility-first CSS framework\n  - [DaisyUI](https://daisyui.com/) - A component library for TailwindCSS\n- [Go](https://go.dev/) 1.21+ - A programming language for building web applications\n  - [PocketBase](https://pocketbase.io) - A Go based SaaS platform for building web applications\n  - [Goreleaser](https://goreleaser.com/) - A tool for building and releasing Go applications\n\n## Getting Started\n\n### Prerequisites\n\nTo run the application you'll have to have a `.env` file next to your executable with the following contents:\n\n```bash\nWGA_ENV=development\n\nWGA_ADMIN_EMAIL=\nWGA_ADMIN_PASSWORD=\n\nWGA_S3_ENDPOINT=\nWGA_S3_BUCKET=\nWGA_S3_REGION=\nWGA_S3_ACCESS_KEY=\nWGA_S3_ACCESS_SECRET=\n\nWGA_PROTOCOL=http\nWGA_HOSTNAME=localhost:8090\n\nWGA_SMTP_HOST=\nWGA_SMTP_PORT=\nWGA_SMTP_USERNAME=\nWGA_SMTP_PASSWORD=\nWGA_SENDER_ADDRESS=\nWGA_SENDER_NAME=\n\nMAILPIT_URL=\n```\n\n| Variable               | Description                                                                                            |\n| ---------------------- | ------------------------------------------------------------------------------------------------------ |\n| `WGA_ENV`              | The environment the application is running in, valid values are `development`, `staging`, `production` |\n| `WGA_ADMIN_EMAIL`      | The email address of the admin user                                                                    |\n| `WGA_ADMIN_PASSWORD`   | The password of the admin user                                                                         |\n| `WGA_S3_ENDPOINT`      | The endpoint of the S3 bucket                                                                          |\n| `WGA_S3_BUCKET`        | The name of the S3 bucket                                                                              |\n| `WGA_S3_REGION`        | The region of the S3 bucket                                                                            |\n| `WGA_S3_ACCESS_KEY`    | The access key of the S3 bucket                                                                        |\n| `WGA_S3_ACCESS_SECRET` | The access secret of the S3 bucket                                                                     |\n| `WGA_PROTOCOL`         | The protocol to use for the application, valid values are `http` and `https`                           |\n| `WGA_HOSTNAME`         | The domain pointing to the application                                                                 |\n| `WGA_SMTP_HOST`        | The address of the SMTP host                                                                           |\n| `WGA_SMTP_PORT`        | The SMTP service port on the host address                                                              |\n| `WGA_SMTP_USERNAME`    | The username for the SMTP service                                                                      |\n| `WGA_SMTP_PASSWORD`    | The password for the SMTP service                                                                      |\n| `WGA_SENDER_ADDRESS`   | The sending email address                                                                              |\n| `WGA_SENDER_NAME`      | The name of the email sender                                                                           |\n| `MAILPIT_URL`          | For testing only!                                                                                      |\n\n### Running the application\n\nTo run the application simply download the release for your platform and run it with:\n\n```bash\n./wga serve\n```\n\nThe application will start on port 8090 by default. You can access it by going to \u003chttp://localhost:8090\u003e\n\n### Build from source\n\n#### Prerequisites\n\nTo build the application you will need to have the following installed:\n\n- [Go](https://go.dev/) 1.21+\n- [Bun](https://bun.sh/) v1.1+\n- [Goreleaser](https://goreleaser.com/)\n- [Templ](https://templ.guide/)\n\n#### Building the application\n\nTo build the application simply run:\n\n```bash\ntempl generate \u0026\u0026 go build -o wga\n```\n\nThis will build the application and place the binary in the `./dist` folder.\n\n## Contributing\n\nContributions are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md) for more information.\n\n### Development quick start\n\n#### Docker\n\nThe supplied `docker-compose.yml` file will bring up a configured `minio` and `mailpit` instance to simulate the services used in production.\n\n#### Frontend\n\nAll frontend assets (templ, postcss) can be built with `bun run dev` (this command will start a dev server as well) and the JS dependencies with `bun run build:js`.\n\n#### Seeding\n\nThe database is populated on first start, and if you want to have images available, make sure that your `WGA_ENV=development` is set and then you can execute:\n\n```bash\n./wga seed:images\n```\n\nThis will go through the contents of the database and will use placeholder images to \"generate\" the necessary images to the designated S3 compatible file hosting solution designated in the `.env` file.\n\n## With DevEnv\n\nDevenv is a Nix based development environment that's more easily accessible than a pure nix based approach.  \nYou can check [devenv.sh](https://devenv.sh/getting-started/) for installation and usage details.\n\nFor first-time setup:\n\n1. Install Devenv following the [getting started guide](https://devenv.sh/getting-started/)\n2. (optional) copy the `devenv.local.stub.nix` file to `devenv.local.nix`\n3. Run `devenv up` to start the development environment\n\nChecking the [/devenv.nix](devenv.nix) file for more details is also recommended.\nThis file contains:\n\n- Development dependencies\n- Environment variables\n- Service configurations\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fblackfyre%2Fwga.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fblackfyre%2Fwga?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackfyre%2Fwga","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblackfyre%2Fwga","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackfyre%2Fwga/lists"}