Implement the complete migration described in
wealthboard-go-vite-migration-brief.md.
This is an implementation task, not a planning or scaffolding task. Complete the
migration in one pull request and leave the repository in a runnable state. You can perform multiple implementation passes on the same PR and generate a representative fictional database.
Requirements:
- Replace the Next.js runtime with a client-side React/Vite application.
- Implement the backend in Go using Chi, sqlc, Goose, and SQLite.
- Preserve all current user-facing behavior and financial/domain invariants.
- Preserve existing user data and provide a tested migration path.
- Implement browser authentication and scoped API keys as specified.
- Keep strict owner scoping on every user-owned resource.
- Preserve integer minor-unit monetary storage and transactional behavior.
- Remove Next.js and its server-side runtime from the final deployment.
- Update Docker, Kubernetes, local-development, backup, and deployment configuration.
- Do not stop after creating skeleton packages, sample endpoints, or placeholder handlers.
- Do not leave TODO implementations for required functionality.
- Do not silently omit features that are difficult to migrate.
Before finishing:
- Run Go unit and integration tests.
- Run frontend type checking and tests.
- Run the complete end-to-end test suite.
- Test migration against a copy of the existing SQLite database.
- Build the production frontend and backend images.
- Confirm that the production deployment no longer starts Next.js.
- Document any unavoidable deviation from the migration specification in the PR.
Use incremental commits so work is recoverable, but deliver one cohesive pull request.
If a requirement is unclear, inspect the existing implementation and preserve its
observable behavior.
Implement the complete migration described in
wealthboard-go-vite-migration-brief.md.This is an implementation task, not a planning or scaffolding task. Complete the
migration in one pull request and leave the repository in a runnable state. You can perform multiple implementation passes on the same PR and generate a representative fictional database.
Requirements:
Before finishing:
Use incremental commits so work is recoverable, but deliver one cohesive pull request.
If a requirement is unclear, inspect the existing implementation and preserve its
observable behavior.