{"id":16992792,"url":"https://github.com/elisiariocouto/leggen","last_synced_at":"2026-03-09T21:25:48.224Z","repository":{"id":223183074,"uuid":"759522001","full_name":"elisiariocouto/leggen","owner":"elisiariocouto","description":"💲 An Open Banking Dashboard and CLI","archived":false,"fork":false,"pushed_at":"2026-02-24T00:51:16.000Z","size":1654,"stargazers_count":8,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-24T05:50:29.689Z","etag":null,"topics":["bank","cli","dashboard","discord","finance","gocardless","manager","mcp","notifications","openbanking","psd2","react","shadcn","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elisiariocouto.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["elisiariocouto"]}},"created_at":"2024-02-18T20:16:10.000Z","updated_at":"2026-02-23T23:24:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"5441750a-70c2-4fe5-9f6b-c04d43e0b9c1","html_url":"https://github.com/elisiariocouto/leggen","commit_stats":{"total_commits":54,"total_committers":3,"mean_commits":18.0,"dds":0.05555555555555558,"last_synced_commit":"6b2cb8a52f5431531292b16042556db7c79907c0"},"previous_names":["elisiariocouto/leggen"],"tags_count":52,"template":false,"template_full_name":null,"purl":"pkg:github/elisiariocouto/leggen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elisiariocouto%2Fleggen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elisiariocouto%2Fleggen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elisiariocouto%2Fleggen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elisiariocouto%2Fleggen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elisiariocouto","download_url":"https://codeload.github.com/elisiariocouto/leggen/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elisiariocouto%2Fleggen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29951673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T18:42:55.706Z","status":"ssl_error","status_checked_at":"2026-02-28T18:42:48.811Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bank","cli","dashboard","discord","finance","gocardless","manager","mcp","notifications","openbanking","psd2","react","shadcn","sqlite"],"created_at":"2024-10-14T03:30:12.020Z","updated_at":"2026-03-09T21:25:48.215Z","avatar_url":"https://github.com/elisiariocouto.png","language":"Python","funding_links":["https://github.com/sponsors/elisiariocouto"],"categories":[],"sub_categories":[],"readme":"# 💲 leggen\n\n\nA self hosted Open Banking Dashboard, API and CLI for managing bank connections and transactions.\n\nHaving your bank data accessible through both CLI and REST API gives you the power to backup, analyze, create reports, and integrate with other applications.\n\n![Leggen demo](docs/leggen_demo.gif)\n\n## 🛠️ Technologies\n\n  ### Frontend\n  - [React](https://reactjs.org/): Modern web interface with TypeScript\n  - [Vite](https://vitejs.dev/): Fast build tool and development server\n  - [Tailwind CSS](https://tailwindcss.com/): Utility-first CSS framework\n  - [shadcn/ui](https://ui.shadcn.com/): Modern component system built on Radix UI\n  - [TanStack Query](https://tanstack.com/query): Powerful data synchronization for React\n\n  ### 🔌 API \u0026 Backend\n  - [FastAPI](https://fastapi.tiangolo.com/): High-performance async API backend (integrated into `leggen server`)\n  - [EnableBanking](https://enablebanking.com/): Open Banking data access for connecting to banks\n  - [APScheduler](https://apscheduler.readthedocs.io/): Background job scheduling with configurable cron\n\n  ### 📦 Storage\n  - [SQLite](https://www.sqlite.org): for storing transactions, simple and easy to use\n\n\n## ✨ Features\n\n### 🎯 Core Banking Features\n- Connect to banks using EnableBanking (30+ EU countries)\n- List all connected banks and their connection statuses\n- View balances of all connected accounts\n- List and filter transactions across all accounts\n\n### 🔄 Data Management\n- Sync all transactions with SQLite database\n- Background sync scheduling with configurable cron expressions\n\n### 📡 API \u0026 Integration\n- **REST API**: Complete FastAPI backend with comprehensive endpoints\n- **CLI Interface**: Enhanced command-line tools with new options\n\n### 🔔 Notifications \u0026 Monitoring\n- Discord and Telegram notifications for filtered transactions\n- Configurable transaction filters (case-sensitive/insensitive)\n- Account expiry notifications and status alerts\n- Comprehensive logging and error handling\n\n## 🚀 Quick Start\n\n### Prerequisites\n1. Create an Enable Banking account at [https://enablebanking.com/](https://enablebanking.com/)\n2. Create an application in the [Enable Banking Customer Portal](https://enablebanking.com/cp/applications) as the image below. The redirect URL must use HTTPS and must end with `/bank-connected`. Enable Banking does not support HTTP.\n3. Set up your bank accounts following the [Enable Banking Setup Guide](docs/enable-banking-setup.md)\n\n![Enable Banking new application](docs/enable-banking-new-application.png)\n\n### Installation\n\n#### Docker Compose\n\n```bash\n# Clone the repository\ngit clone https://github.com/elisiariocouto/leggen.git\ncd leggen\n\n# Create your configuration\nmkdir -p data \u0026\u0026 cp config.example.toml data/config.toml\n# Edit data/config.toml with your EnableBanking credentials\n\n# Start all services\ndocker compose up -d\n```\n\n### Configuration\n\nCreate a configuration file at `./data/config.toml`:\n\n```toml\n[enablebanking]\napplication_id = \"your-application-id\"\nkey_path = \"/path/to/private-key.pem\"\n# url = \"https://api.enablebanking.com\"\n\n[database]\nsqlite = true\n\n# Optional: Background sync scheduling\n[scheduler.sync]\nenabled = true\nhour = 3      # 3 AM\nminute = 0\n# cron = \"0 3 * * *\"  # Alternative: use cron expression\n\n# Optional: Discord notifications\n[notifications.discord]\nwebhook = \"https://discord.com/api/webhooks/...\"\nenabled = true\n\n# Optional: Telegram notifications\n[notifications.telegram]\ntoken = \"your-bot-token\"\nchat_id = 12345\nenabled = true\n\n# Optional: Transaction filters for notifications\n[filters]\ncase_insensitive = [\"salary\", \"utility\"]\ncase_sensitive = [\"SpecificStore\"]\n```\n\n## 📖 Usage\n\n### Web Interface\nAccess the React web interface at `http://localhost:3000` after starting the services.\n\n### API Service\nVisit `http://localhost:3000/api/v1/docs` for interactive API documentation.\n\n### CLI Commands\n```bash\nleggen status              # Check connection status\nleggen bank add            # Connect to a new bank\nleggen balances            # View account balances\nleggen transactions        # List transactions\nleggen sync                # Trigger accounts sync\n```\n\nFor more options, run `leggen --help` or `leggen \u003ccommand\u003e --help`.\n\n## ⚠️ Notes\n- This project is in active development\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felisiariocouto%2Fleggen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felisiariocouto%2Fleggen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felisiariocouto%2Fleggen/lists"}