How harsh8968/legal-scan works
Legal-Scan is a Flask-based Indian legal-aid app. Users can register, describe an incident for IPC matches, explore legal guidance, ask AI questions, and draft FIR documents; signed-in users can also review prediction history and dashboard statistics. The main request handling and integrations are in app.py. The excerpts show those responsibilities but omit some route bodies, so uncertain internal call links are left out.
Main entry points: app.py Flask routes · login.html Account pages · register.html Registration page · dashboard.html Dashboard
Components 17
Access and accounts
- Account pages
templates/login.html - Registration page
templates/register.html - Dashboard
templates/dashboard.html - Prediction history
templates/history.html
Legal guidance
- Issue description
templates/describe_issue.html - IPC matches
templates/issue_results.html - IPC details
templates/ipc_details.html - IPC reference data
ipc_data.py - Crime prediction
templates/predict.html - Crime model
crime_model.pkl - AI advice
templates/ai_advice.html
Document drafting
- FIR document form
templates/generate_document.html - FIR PDF output
app.py
Application and data
- Flask routes
app.py - SQLite data
Other components
- User
- Gemini API
Connections 17
- User → Flask routes: submits requests
- Flask routes → Account pages: renders
- Flask routes → Registration page: renders
- Flask routes → Dashboard: renders
- Flask routes → Prediction history: renders
- Flask routes → SQLite data: reads and writes
- Flask routes → Issue description: renders
- Flask routes → IPC reference data: matches sections
- Flask routes → IPC matches: renders results
- Flask routes → IPC details: renders details
- Flask routes → Crime model: loads for prediction
- Flask routes → Crime prediction: renders
- Flask routes → AI advice: renders
- Flask routes → Gemini API: requests guidance
- Flask routes → FIR document form: renders
- Flask routes → Gemini API: requests FIR draft
- Flask routes → FIR PDF output: generates PDF