How charwayyyyyy/opencontract works
OpenContract is a public-procurement transparency platform: people explore OCDS lifecycle records, inspect contract timelines and integrity signals, ask grounded questions, and verify documents by hash. Its principal path runs from procurement exploration through API-backed record retrieval to database results; verification hashes files in the browser before checking registered records and anchors. The README documents broader lifecycle coverage and blockchain verification, but Solidity sources are absent from the supplied tree, and several UI and service implementations were not sampled.
Main entry points: queries.ts Procurement queries · route.ts Grounded analyst API · client.ts Prisma client · verify-page.tsx Document verifier
Components 19
Public experience
- Procurement explorer
apps/web/src/components/procurement/procurement-explorer.tsx - Contract detail
apps/web/src/components/procurement/contract-detail.tsx - Analyst interface
apps/web/src/components/analyst/analyst-interface.tsx - Document verifier
apps/web/src/components/verification/verify-page.tsx
Procurement data
- Procurement search API
apps/web/src/app/api/v1/procurements/route.ts - Procurement record API
apps/web/src/app/api/v1/procurements/[ocid]/route.ts - Timeline API
apps/web/src/app/api/v1/procurements/[ocid]/timeline/route.ts - OCDS export API
apps/web/src/app/api/v1/ocds/records/[ocid]/route.ts - Procurement queries
apps/web/src/services/procurement/queries.ts - Integrity signals
apps/web/src/services/procurement/statistics.ts
Integrity and verification
- Hash verification API
apps/web/src/app/api/v1/verify/document/route.ts - Blockchain utilities
apps/web/src/lib/blockchain.ts
Platform services
- Grounded analyst API
apps/web/src/app/api/v1/analyst/route.ts - Prisma client
packages/database/src/client.ts - Procurement database
Other components
- Citizen / auditor
- Google Gemini
- Base Sepolia
- User browser
Connections 20
- Citizen / auditor → Procurement explorer: browses
- Procurement explorer → Procurement search API: searches
- Procurement search API → Procurement queries: invokes
- Procurement record API → Procurement queries: loads
- Timeline API → Procurement queries: loads
- OCDS export API → Procurement queries: loads
- Procurement queries → Prisma client: queries
- Analyst interface → Grounded analyst API: asks
- Grounded analyst API → Prisma client: retrieves context
- Grounded analyst API → Google Gemini: prompts
- Grounded analyst API → Integrity signals: uses demo signals
- Citizen / auditor → Document verifier: selects document
- Document verifier → User browser: hashes locally
- Document verifier → Hash verification API: submits hash
- Hash verification API → Prisma client: looks up hash
- Hash verification API → Blockchain utilities: uses anchor data
- Blockchain utilities → Base Sepolia: checks anchors
- Prisma client → Procurement database: reads records
- Contract detail → Procurement record API: loads record
- Contract detail → Timeline API: loads timeline