Fixed reference link to the video

This commit is contained in:
GeorgeWebberley 2026-03-01 14:37:10 +01:00
parent 3f05e0f2bf
commit e4b9be30a8

View file

@ -1,16 +1,10 @@
# Pandektes Case Law Challenge 🏛️
# Pandektes Case Law Challenge
This is a NestJS-based legal document parsing application built for the Pandektes technical challenge. It extracts case law metadata from PDF and HTML documents using Gemini AI and stores it in a PostgreSQL database.
### Demo
[▶️ Watch the demo video](./assets/demo.mp4)
<video width="100%" height="auto" controls>
<source src="./assets/demo.mp4" type="video/mp4">
Your browser does not support the video tag.
<a href="./assets/demo.mp4">Download the video here</a>.
</video>
## 🚀 Getting Started
## Getting Started
### Prerequisites
- **Docker & Docker Compose**
@ -74,7 +68,7 @@ Once running, you can interact with the app in a few ways:
---
## 🏗️ Architectural Decisions
## Architectural Decisions
### 1. Why a Background Queue (BullMQ)?
Large document processing is likely to be "spiky" and slow, in particular with added LLM calls. If we did this directly in the HTTP request, the user's connection would likely time out, as well as potentially blocking the event loop on the main thread.
@ -92,7 +86,7 @@ It wasn't clear from the requirements whether the AI should extract metadata in
---
## 🛠️ Production Readiness (Next Steps)
## Production Readiness (Next Steps)
If I were taking this to production, here's what I'd focus on:
@ -128,7 +122,7 @@ My queue implementation is a good first step (passing heavy work to a child proc
- Rate Limiting: A malicious script could flood the queue with blank PDFs, costing money in AI tokens. I'd use `@nestjs/throttler` to limit uploads per IP per hour.
- File Scanning: Add an anti-virus layer (like ClamAV) before saving uploads to S3.
## 🧪 Testing
## Testing
Run the suite with:
```bash
npm run test