Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Automantics-Canada/Cambridge-Garden-Centre
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Cambridge Garden Centre - AP Verification System
Overview
The CGC AP Verification System automates the ingestion, matching, and verification of Accounts Payable (AP) documents. It provides an end-to-end pipeline that handles order creation, ticket OCR parsing and matching, and invoice ingestion via email to reduce manual AP input and ensure pricing accuracy.README 전문 보기 ↗#CGC
The CGC AP Verification System automates the ingestion, matching, and verification of Accounts Payable (AP) documents. It provides an end-to-end pipeline that handles order creation, ticket OCR parsing and matching, and invoice ingestion via email to reduce manual AP input and ensure pricing accuracy.
The system operates across three main data entities:
[email protected]).1. Order Ingestion (Spruce -> Database)
Order records. Duplicate SP ID rows trigger updates rather than errors.2. Ticket Arrival & OCR
OcrJob, and dispatches it to AWS Textract.3. Auto-Linking Engine
poNumber against existing Orders.LINKED and associated directly.UNLINKED queue awaiting manual AP review.4. Invoice Arrival & Matching
Invoice record.AnalyzeExpense) parses the invoice completely, extracting line items, quantities, and unit rates.LineItemFlag (e.g. RATE_MISMATCH).5. AP Dashboard Verification
AuditLog table ensuring accountability.├── backend/
│ ├── prisma/ # Database schemas & migrations
│ ├── src/
│ │ ├── modules/
│ │ │ ├── auth/ # Authentication
│ │ │ ├── invoices/ # Invoice endpoints, logic & OCR processing
│ │ │ ├── orders/ # Order ingestion logic
│ │ │ ├── supplier/ # Supplier logic
│ │ │ └── tickets/ # Ticket ingestion, Auto-linking & OCR logic
│ │ ├── services/ # File Storage and specialized AWS Textract logic
│ │ ├── middleware/ # Express route JWT protection
│ │ └── app.ts # Core router pipeline
├── frontend/
│ └── src/
│ ├── components/ # UI
│ ├── layouts/ # Dashboard layout shells
│ ├── pages/
│ │ └── dashboard/ # Invoices, Orders, Suppliers, Tickets
│ └── store/ # Redux toolkit
(Micro & Detailed Steps)
.env.AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_REGION configured either locally or in .env for Textract to work.cd backend && npm run devcd frontend && npm run devhttp://localhost:5173). Login using your test ADMIN credentials.Supplier. Take note of the id. Add a NegotiatedRate object for this supplier targeting product "Gravel" with rate 15.00.sample_orders_3.csv) containing an order with poNumber = PO-9999 attached to the supplier.POST /api/order/import or the frontend if available.POST /api/ticket/whatsapp (with an image file in form-data). Ensure the image contains the text "PO-9999".Ticket table.status: "LINKED" and linkedOrderId successfully populated automatically.POST http://localhost:8080/api/invoice/mock-emailfile: Attach a visual mock Invoice PDF.fromEmail: [email protected]subject: Invoice #12345 AttachedGET http://localhost:8080/api/invoice request.STATUS = PENDING_REVIEW. Inspect the lineItems property. The matching engine should have assigned RATE_MISMATCH, OK, or NO_ORDER depending on what Textract detected vs your Negotiated Rate.DISPUTED.AuditLog table: SELECT * FROM "AuditLog";