Military Legal Assistant: AI-Powered Legal Chatbot for Military Law and Regulations
# Legal Platform - Tunisian Legal Assistant
### An AI-Powered Platform for Tunisian Law
*A full-stack web application that brings Tunisian law to the fingertips of legal professionals through semantic search and AI-powered assistance.*
---
## Table of Contents
- Overview
- Features
- Architecture
- Tech Stack
- Project Structure
- Prerequisites
- Installation
- Usage
- API Reference
- Dataset
- Roadmap
- Contributing
---
## Overview
The **Tunisian Legal Assistant** is an end-of-year project (PFA) that provides a centralized platform for legal professionals to navigate the **Tunisian Code of Military Proceedings** (*Majallat al-Murafa'at al-'Askariyya* / مجلة المرافعات العسكرية).
The platform combines a modern Angular frontend with a Python-based RAG (Retrieval-Augmented Generation) backend that uses multilingual sentence embeddings to perform semantic search across 140 law articles, then generates context-aware legal responses using a large language model.
The entire interface is designed in **Arabic (RTL)** with a clean, professional light theme suited for legal professionals.
---
## Features
### AI-Powered Legal Chatbot
- Ask legal questions in Arabic and receive context-aware answers grounded in actual law articles
- Uses **RAG (Retrieval-Augmented Generation)** to retrieve the most relevant articles before generating a response
- Quick-topic sidebar with predefined legal questions for common inquiries
- Dual response strategy: local rule-based matching for common queries + remote LLM for complex questions
### Law Browser
- Browse all **140 articles** of the Tunisian Code of Military Proceedings
- Filter by chapter (*bab*) across 14 unique chapters
- Full-text search across article numbers, legal text, and chapter/section explanations
- Card-based display with chapter and section badges
### Team Management
- View team members with titles, roles, and departments
- Filter by status: Available, Busy, On Leave, On Assignment
- Search by name, ti …