A full-stack web application for searching, analyzing, and visualizing relationships between legal documents, names, and entities. This platform provides powerful tools for exploring court filings, flight logs, contact lists, and other legal documents while tracking connections between mentioned individuals.
- Document Import & Analysis: Upload and analyze various types of legal documents
- AI-Powered Insights: Advanced document analysis using Google's Gemini AI
- Network Visualization: Interactive graphs showing relationships between entities
- Timeline View: Chronological display of legal events and documents
- Name Analysis: Track individuals mentioned across multiple documents
- Export Functionality: Export data in CSV, JSON, and PDF formats
- Real-time Search: Fast document and entity search capabilities
- Responsive Design: Works seamlessly on desktop and mobile devices
- React 18 with TypeScript
- Tailwind CSS for styling
- shadcn/ui component library built on Radix UI
- TanStack React Query for server state management
- Wouter for client-side routing
- D3.js for data visualization
- Vite for development and building
- Node.js with Express.js
- TypeScript with ESM modules
- Drizzle ORM for type-safe database operations
- PostgreSQL (Neon Database)
- Google Gemini AI integration
- RESTful API architecture
- Neon Database (Serverless PostgreSQL)
- Connection pooling for performance
- Drizzle migrations for schema management
- Node.js 20 or higher
- PostgreSQL database (Neon Database recommended)
- Google AI API key (for AI insights feature)
# Install dependencies
npm installCreate a .env file in the root directory:
DATABASE_URL=your_neon_database_url
GOOGLE_AI_API_KEY=your_google_ai_api_key
NODE_ENV=development# Push database schema
npm run db:push# Start development server
npm run devThe application will be available at http://localhost:5000
# Build for production
npm run build
# Start production server
npm start├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Application pages
│ │ ├── hooks/ # Custom React hooks
│ │ └── lib/ # Utility functions
├── server/ # Express backend
│ ├── ai-service.ts # AI integration
│ ├── db.ts # Database configuration
│ ├── routes.ts # API routes
│ └── storage.ts # Data access layer
├── shared/ # Shared types and schemas
└── migrations/ # Database migrations
npm run dev- Start development servernpm run build- Build for productionnpm start- Start production servernpm run check- Type checkingnpm run db:push- Push database schema
GET /api/documents- List all documentsGET /api/documents/:id- Get specific documentPOST /api/documents- Upload new document
GET /api/names- List all names/entitiesGET /api/names/:id- Get specific name details
GET /api/network- Get relationship network data
POST /api/ai/analyze- Generate AI insights for documentsGET /api/ai/status- Check AI service status
GET /api/dashboard/stats- Get dashboard statisticsGET /api/timeline- Get timeline events
- All data is sourced from publicly available court documents
- Secure API key management through environment variables
- Rate limiting on API endpoints
- Input validation and sanitization
- CORS protection enabled
This platform analyzes publicly available court documents and legal filings. Association or mention in documents does not imply guilt or wrongdoing. All data is sourced from verified legal records.
This project is configured for easy deployment on Replit:
- Push your changes to the repository
- The build process will automatically run:
npm run build - The production server will start with:
npm run start - Your app will be available on your Replit domain
Make sure to set the following in your Replit Secrets:
DATABASE_URL- Your Neon database connection stringGOOGLE_AI_API_KEY- Your Google AI API key
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- U.S. Department of Justice releases
- Federal court document unseals
- Public flight manifest records
- Verified legal depositions
All sources are cross-referenced and verified for authenticity.
For more information about the platform architecture and features, see the project documentation.