Skip to content

About

Async Python API + React frontend to search, structure and study Italian and EU legal sources (Normattiva, EUR-Lex, Brocardi)

Topics

Resources

Security policy

Stars

6 stars

Watchers

1 watching

Forks

Repository files navigation

VisuaLex Web/API

Intelligent Legal Visualization and Research

Version Python Node.js React License

VisuaLex is an advanced web application designed to research, visualize, and study legal texts from Normattiva, EUR-Lex, and Brocardi. It combines a powerful async Python backend with a rich React-based frontend to transform complex regulations into interactive knowledge graphs and structured views.


Documentation

Document Description
Architecture System overview, diagrams, data flow
Python API Setup Installation & configuration
Python API Reference All endpoints with payloads
Node.js Backend Platform services & Prisma schema
Frontend Setup Installation & development
Component Library Reusable UI components
User Guide End-user documentation
Setup From clone to a running stack and green suites
Git workflow develop and main, pull requests, review, versions and releases, hotfixes
Changelog What changed, release by release

Quick Start

git clone --recurse-submodules https://github.com/capazme/VisuaLexAPI.git
cd VisuaLexAPI && git switch develop
./start.sh

The one-time setup (Docker, Node, Python, the .env files) is in docs/setup.md.

Core Features

  • Multi-Source Search: Unified interface for Italian Laws (Normattiva) and EU Regulations (EUR-Lex)
  • Study Mode: Distraction-free reading environment with annotation tools
  • Brocardi Integration: Automatic retrieval of legal maxims and explanatory notes
  • PDF Export: Generate high-quality PDFs of regulations for offline use
  • Bookmarks & Dossiers: Organize your research with folders and collections
  • Highlights & Annotations: Mark up articles with colors and notes

Project Structure

Path What
apps/web/ React + Vite web app
apps/server/ Express + Prisma: accounts, dossiers, community
services/visualex/ Python API (Quart): Normattiva, EUR-Lex, Brocardi
services/merlt/ MERL-T knowledge graph and RLCF (MPL-2.0)
tools/ archive CLI, end-to-end harness
infra/ Docker Compose stack
scripts/ data backup and restore
docs/ documentation — start from docs/README.md

Releases

There is no public deployment at the moment. Releases are tags on main; day-to-day work goes to develop — see docs/git-workflow.md.

Troubleshooting

  • "Playwright: no such driver": Run services/visualex/.venv/bin/playwright install chromium
  • PDF Export Fails: Ensure Chromium is installed via Playwright
  • CORS Errors: Check that all services are running on correct ports

License

Mozilla Public License 2.0 (MPL-2.0) — see LICENSE. The licence covers the whole repository, MERL-T included.

Contributions are accepted under the Developer Certificate of Origin: each commit carries a Signed-off-by line (git commit -s). There is no Contributor License Agreement.

The licence covers this software only. The legal texts it retrieves come from third parties: please respect the Terms of Service of Normattiva, EUR-Lex, Brocardi and the Corte di cassazione's SentenzeWeb; the Corte costituzionale's open data are licensed CC BY-SA 3.0 and are credited wherever they appear.

Portions of the act-resolution tables, the Akoma Ntoso parser and the Corte costituzionale open-data reader derive from mcp-legal-it, by the same author, relicensed MIT by the copyright holder; those portions keep the MIT terms.

About

Async Python API + React frontend to search, structure and study Italian and EU legal sources (Normattiva, EUR-Lex, Brocardi)

Topics

Resources

Security policy

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages