- server/logviewer.html: readable log viewer at GET /api/logs/view — level filter chips, free-text search, and click-to-trace (clicking any field value re-filters to every line sharing it, e.g. an order_id or request id across its whole lifecycle). GET /api/logs/files/:filename now redirects browser navigation here instead of returning raw JSON (Accept: application/json still gets the JSON body). - server/openapi.json + server/api-docs.html: OpenAPI 3.0 spec and a Scalar reference page served at GET /openapi.json and GET /docs. Scalar is loaded from a version-pinned CDN URL with a Subresource Integrity hash rather than installed as a dependency. - Generalize requireLogBasicAuth -> requireAdminAuth since the same HTTP Basic Auth credentials now gate /api/logs*, /openapi.json, and /docs alike. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| postman | ||
| public | ||
| scripts | ||
| server | ||
| src | ||
| tests | ||
| .gitignore | ||
| README.md | ||
| ecosystem.config.cjs | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.cjs | ||
| tailwind.config.ts | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
README.md
Core Midtrans CIFO (Frontend)
Frontend Vite + React untuk integrasi Midtrans Core API dengan UI kustom.
Setup
- Duplikasi file contoh env dan isi nilainya:
cp .env.example .env.local
Isi .env.local (lihat .env.example untuk referensi):
VITE_API_BASE_URL=http://localhost:8000/api
VITE_MIDTRANS_CLIENT_KEY=YOUR_CLIENT_KEY
VITE_MIDTRANS_ENV=sandbox
- Jalankan pengembangan:
npm install
npm run dev
App akan tersedia di http://localhost:5173/ (atau port lain jika 5173 dipakai).
Catatan Integrasi Midtrans
- Client Key hanya digunakan di frontend (mis. tokenisasi kartu/3DS). Server Key TIDAK pernah di frontend.
- Semua request ke Midtrans dilakukan lewat backend (
VITE_API_BASE_URL). Frontend memanggil endpoint seperti/payments/:orderId/status. - Status real-time dapat diimplementasikan via polling (TanStack Query) atau SSE/WebSocket dari backend.
Struktur Env di Kode
- Akses env melalui modul
src/lib/env.ts:Env.API_BASE_URLEnv.MIDTRANS_CLIENT_KEYEnv.MIDTRANS_ENV
Lisensi
Internal project skeleton.