个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Modern Next.JS Firefly dashboard
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗An interactive, responsive financial dashboard optimized for mobile layouts, connecting directly to a Firefly III instance. Designed to track Safe-to-Spend pacing, upcoming cycle outgoings, and categorizing transactions on the fly.
/uncategorized):
glass-card system)react-chartjs-2)src/lib/firefly.ts connecting to Firefly III Core v1 API.Here is a preview of the mobile-first dashboard running in Demo Mode:
| Home Dashboard | Accounts Overview | Account Settings |
|---|---|---|
| Recent Activity | Upcoming Payments |
|---|---|
The dashboard automatically styles categories and maps them to icons and colors using their names in Firefly III (case-insensitive). To get pretty icons out-of-the-box, name your Firefly III categories to match or contain any of the following:
| Category Types / Keywords | Style / Icon | Color Theme |
|---|---|---|
Groceries, Grocery, Supermarket | ShoppingCart 🛒 | Amber |
Eating out, Dining out, Restaurants, Takeaway, Coffee | Utensils 🍽️ | Orange |
Rent, Mortgage, Housing, Home maintenance | Home 🏠 | Indigo / Amber |
Subscriptions, Subscription | CalendarDays 📅 | Cyan |
Salary, Income, Other income, Benefit payment | Banknote / Coins 💵 | Emerald |
Gas & electricity, Utilities, Electricity, Power, Water | Zap ⚡ | Cyan |
Transport, Car, Fuel, Gas, Parking | Car / Fuel 🚗 | Blue |
Gym, Fitness | Dumbbell 🏋️ | Rose |
Healthcare, Medical, Dentist, Health | HeartPulse 🏥 | Rose |
Entertainment, Hobbies, Leisure | Film / Palette 🎭 | Violet |
Holidays, Travel, Days out | Plane / Compass ✈️ |
Before launching the dashboard, make sure your Firefly III instance has the following:
"credit card").Note: All other settings (such as marking your primary current account or setting credit card statement/due dates) can be configured directly in the Dashboard UI. The dashboard stores these preferences as JSON metadata inside the notes field of your accounts in Firefly III.
The application is distributed as a pre-built multi-architecture Docker image (linux/amd64 and linux/arm64) via GitHub Container Registry (GHCR), meaning you don't even need the source code to run it.
Create a dedicated directory on your server and prepare the following files:
docker-compose.yml:
services:
dashboard:
image: ghcr.io/giorobert88/financial-dashboard:latest
container_name: firefly-dashboard
restart: unless-stopped
ports:
- "3001:3000"
env_file:
- .env.local
environment:
- AUTH_FILE_PATH=/app/data/.dashboard_auth
volumes:
- dashboard_data:/app/data
volumes:
dashboard_data:
.env.local:
SESSION_SECRET="generate-with-openssl-rand-base64-32"
# Execute in Linux terminal: openssl rand -base64 32
# Optional (Can be configured in the UI instead)
# FIREFLY_API_URL="http://your-firefly-server:8080"
# FIREFLY_PAT="your-firefly-personal-access-token"
[!TIP]
- Generate a secure session secret with:
openssl rand -base64 32- API Connection: You can configure your Firefly III API URL and Personal Access Token (PAT) directly in the dashboard UI under Settings > API Connection. Alternatively, you can pre-configure them by uncommenting the environment variables in
.env.local.
Run the following command in the same directory:
docker compose up -d
To stop the dashboard: docker compose down. To inspect output: docker compose logs -f.
Note: The ./data directory will be created automatically to securely persist your dashboard password across container updates.
Navigate to http://localhost:3001 (or your server's IP). On first launch, you will be prompted to create a dashboard password to protect access to your financial data.
src/
├── app/
│ ├── actions/ # Server actions (auth, transactions, automations)
│ ├── api/ # API routes
│ ├── dashboard/ # Dashboard pages with cycle navigation
│ ├── login/ # Login page
│ ├── settings/ # Settings (accounts, connection, rules)
│ ├── uncategorized/ # Transaction categorization queue
│ └── ...
├── components/ # Reusable UI components
├── hooks/ # Custom React hooks
├── lib/
│ ├── api/ # Firefly III API client & data fetching
│ └── ... # Utilities, formatting, payday logic
├── proxy.ts # Request routing and proxy logic
└── sw.ts # Service worker source (Serwist)
This project was built from concept to production in collaboration with Antigravity, Google's agentic AI coding assistant. Leveraging Antigravity as an AI pair programmer enabled end-to-end product design, rapid full-stack implementation (Next.js 16 / React 19), security hardening, and packaging into a production-ready multi-architecture Docker container—demonstrating how modern Product Managers can build and ship working MVPs independently.
If you enjoy using this dashboard and would like to support its ongoing development, please consider donating:
GNU General Public License v3 (GPLv3) - see the LICENSE file for details.
| Sky / Orange |
Clothing, Clothes, Clothing & shoes | Shirt 👕 | Amber |
Car insurance, Home insurance, Insurance | Shield 🛡️ | Blue |
Credit card, Credit card payments, Loans | CreditCard 💳 | Cyan / Rose |
Savings, Saving | PiggyBank 🏦 | Emerald |
Baby, Maternity, Child & dependent expenses | Baby / Smile 👶 | Pink |
Pets | PawPrint 🐾 | Orange |
Charity | Heart ❤️ | Rose |
Taxes, Tax, Council tax, Road tax | FileText 📄 | Zinc |
Cash, Cash withdrawals | Banknote 💵 | Zinc |