{"id":50136187,"url":"https://github.com/qxuken/gbp","last_synced_at":"2026-05-23T22:02:04.065Z","repository":{"id":276207644,"uuid":"928573853","full_name":"qxuken/gbp","owner":"qxuken","description":"Build planner for genshin","archived":false,"fork":false,"pushed_at":"2026-02-13T21:11:52.000Z","size":8672,"stargazers_count":7,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-14T03:58:06.032Z","etag":null,"topics":["genshin-impact","golang","pocketbase","productivity","react","tanstack-query","tanstack-router","typescript"],"latest_commit_sha":null,"homepage":"https://genshinbuild.app","language":"TypeScript","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/qxuken.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-06T21:20:07.000Z","updated_at":"2026-02-13T21:11:18.000Z","dependencies_parsed_at":"2025-02-23T00:21:27.634Z","dependency_job_id":"7bcad395-dd2a-4c6b-a9ee-67bb0447fc62","html_url":"https://github.com/qxuken/gbp","commit_stats":null,"previous_names":["qxuken/gbp"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/qxuken/gbp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qxuken%2Fgbp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qxuken%2Fgbp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qxuken%2Fgbp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qxuken%2Fgbp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qxuken","download_url":"https://codeload.github.com/qxuken/gbp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qxuken%2Fgbp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33413623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T18:09:33.147Z","status":"ssl_error","status_checked_at":"2026-05-23T18:09:31.380Z","response_time":53,"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":["genshin-impact","golang","pocketbase","productivity","react","tanstack-query","tanstack-router","typescript"],"created_at":"2026-05-23T22:00:54.264Z","updated_at":"2026-05-23T22:02:04.058Z","avatar_url":"https://github.com/qxuken.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Genshin Build Planner\n\nA web application for planning and managing Genshin Impact character builds, weapon builds, artifact sets, and team compositions. The application features a Go backend powered by PocketBase and a modern React/TypeScript frontend.\n\n| Light Mode                                | Dark Mode                               |\n| ----------------------------------------- | --------------------------------------- |\n| ![Light Mode](screenshots/light-mode.png) | ![Dark Mode](screenshots/dark-mode.png) |\n\n## Self-Hosting / Deployment\n\nFollow these steps to deploy your own instance of Genshin Build Planner. For development instructions, see the \"Development Setup\" section below.\n\n### Step 1: Get the Application\n\nYou have two options: use the pre-built Docker image (easiest) or build from source.\n\n#### Option A: Using Docker (Recommended)\nThis is the simplest way to get started. All you need is Docker installed.\n```bash\ndocker pull qxuken/gbp:latest\n```\n\n#### Option B: Building from Source\nIf you prefer not to use Docker, you can build the application manually.\n1.  Ensure you have Go and Node.js/npm installed.\n2.  Run the build command from the root of the project directory:\n    ```bash\n    cd ./ui \u0026\u0026 npm run build \u0026\u0026 cd .. \u0026\u0026 go build .\n    ```\n\n### Step 2: Run the Application \u0026 Create Admin Account\n\nRun the application. If using Docker, it is highly recommended to use a volume to persist your data.\n\n```bash\n# Example Docker command\ndocker run --name gbp -p 8080:8080 -v gbp_data:/pb_data qxuken/gbp:latest\n```\n*   `-p 8080:8080` maps the container's port 8080 to your host's port 8080.\n*   `-v gbp_data:/pb_data` creates a persistent volume named `gbp_data` to store your database. This ensures your data is safe even if you remove the container.\n\nOn the first launch, the application will print a URL in the console logs. **Visit this URL in your browser to create your first admin account.** This link is only valid for a short time.\n\n\n### Step 3: Configuration\n\nNavigate to the \"Settings\" panel in the application to configure additional options, such as setting up an SMTP server for email features (like password resets).\n\n\u003e If you don't want to configure SMTP, you will need to disable the authentication rule. First, go to Settings \u003e Application, uncheck \"Hide collection create and edit controls,\" and click Save. Then, go to Collections \u003e Users \u003e Edit collection \u003e API Rules, clear the \"Authentication rule,\" and click Save. You will then be able to log in without verification.\n\n### Step 4: (Optional) Upload Seed Data\n\n\u003e The docker images already seeded with game data (characters, weapons, etc.).\n\n1.  **Get the `dump.db` file.** (See the [\"Seed Data\"](#seed-data) section below for download links).\n2.  Log in to your new instance with the admin account you just created.\n3.  Navigate to the `/admin/dump` endpoint in your browser (e.g., `http://localhost:8080/admin/dump`).\n4.  Upload the `dump.db` file.\n\n### Step 5: Done!\n\nYour personal instance of Genshin Build Planner is now ready to use.\n\n---\n\n## Seed Data\n\nThe `dump.db` file contains all the necessary game data (characters, artifacts, weapons) required for the application to work. You only need to upload this once during the initial setup.\n\nYou can download the latest version from one of two places:\n*   **From the Website:** Go to **[genshinbuild.app](https://genshinbuild.app)** and click the \"Download Seed\" button.\n*   **From GitHub:** Download the `dump.db` file from the latest [GitHub Release](https://github.com/qxuken/gbp/releases/latest).\n\n---\n\n## Tech Stack\n\n* **Backend:** Go with PocketBase framework\n* **Frontend:** TypeScript, React, Vite\n* **Database:** SQLite (via PocketBase)\n* **Containerization:** Docker\n* **Scripting:** Nushell\n\n---\n\n## Development Setup\n\nThis section is for developers who want to contribute to the project or modify the source code.\n\n### Prerequisites\n\n* Go 1.x\n* Node.js \u0026 npm\n* [Air](https://github.com/air-verse/air) for live-reloading the Go backend\n  ```bash\n  go install github.com/air-verse/air@latest\n  ```\n\n### Running in Development Mode\n\n1. **Backend**\n   First, ensure the frontend has been built at least once. Then, start the live-reload server.\n   ```bash\n   nu build.nu ui  # Run this the first time\n   air\n   ```\n\n2. **Frontend**\n   Navigate to the UI directory, install dependencies, and start the Vite dev server.\n   ```bash\n   cd ui\n   npm install\n   npm run dev\n   ```\n\n### Building \u0026 Publishing\nThe project includes Nushell scripts for building and publishing.\n* **`build.nu`**: Builds the application.\n* **`publish.nu`**: Builds and publishes multi-arch Docker images (arm64 \u0026 amd64). This is primarily for project maintainers.\n\n\u003e Important: there should be latest seed.db and seed.note for the images\n\n  ```bash\n  # Example: Build and publish a new version\n  nu publish.nu\n  ```\n\n## TODO\n\nRefer to [TODO.md](TODO.md) for a list of pending tasks and future improvements.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqxuken%2Fgbp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqxuken%2Fgbp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqxuken%2Fgbp/lists"}