Skip to content

feat(bonds): convertible bond valuation with TWSE/TPEx market data and REST API - #2

Merged
MatthewHsu1 merged 28 commits into
mainfrom
feat/cb-market-data
Jul 15, 2026
Merged

MatthewHsu1 merged 28 commits into
mainfrom
feat/cb-market-data

Conversation

@MatthewHsu1

Copy link
Copy Markdown
Owner

No description provided.

… implementations, add dependency injection, and improve tests
…versions

Adds the ASP.NET Core Web API project shell (Microsoft.NET.Sdk.Web, net10.0)
with project references to Application/Infrastructure/Domain and a minimal
placeholder Program.cs. Registers PackageVersion entries in
Directory.Packages.props for Npgsql.EntityFrameworkCore.PostgreSQL (9.0.0,
matching pinned EF Core 9.0.0), Microsoft.AspNetCore.Authentication.JwtBearer
(10.0.0), Microsoft.AspNetCore.OpenApi (10.0.0), and Scalar.AspNetCore
(2.16.11). No endpoints or Program composition yet — that lands in a later
task.
Replace the Task 1 placeholder Program.cs with real composition
(AddApplication/AddInfrastructure), OpenAPI + Scalar UI, a JWT bearer
auth stub with a local dev token-minting endpoint, a named CORS
policy for the React dev origin, and the four bond/valuation data
endpoints, all gated behind RequireAuthorization().
…add BondsApiClient)

Removes the AppName.Infrastructure project reference and the startup
db.Database.Migrate() call so the MAUI head no longer touches a
database. Adds IBondsApiClient/BondsApiClient (typed HttpClient wrapping
GET /api/valuations) plus a minimal DevAuthTokenProvider + BearerTokenHandler
that mint and attach a bearer token from the API's local-dev auth stub.
BondsBridge now delegates to IBondsApiClient instead of GetValuationsUseCase;
AppBridge and the HybridWebView JS contract are unchanged.
… switch

AppName.Infrastructure switched to Npgsql (Task 2), which removed the
transitive EF Sqlite provider the test project relied on. Add it back
directly to AppName.Infrastructure.Tests so the in-memory SQLite
fixtures keep working, and point DependencyInjectionTests at a dummy
Postgres connection string since it now only resolves services.
…connection strings and add centralized secret key constants
…on 9.0.4 and add YugabyteHistoryRepository for migration lock handling
@MatthewHsu1
MatthewHsu1 merged commit f5eb12f into main Jul 15, 2026
6 checks passed
@MatthewHsu1
MatthewHsu1 deleted the feat/cb-market-data branch August 30, 2026 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant