-
Release pilot testversion Pre-Release
released this
2026-04-13 12:08:44 +00:00 | 1 commits to main since this release[1.0.0] - 2026-04-13
Added
- Branding: app named "Armarium"; horizontal and vertical logo SVGs; favicon; dark-mode logo invert
- Backend: Django + DRF with JWT auth (
djangorestframework-simplejwt), token blacklist, rate limiting (5/200/20 req/min), PostgreSQL, media uploads, env config viapython-dotenv - Data models:
Account(asset/expense/revenue),Transaction(double-entry),Budget(7 categories),Expense(10 categories),Profile(avatar, canton, all 26 CH cantons),Deadline(5 types) - REST API: auth endpoints (register, login, refresh, logout, password change), full CRUD for accounts, transactions, budgets, expenses, deadlines, profile
- Frontend: Angular 21 standalone components, Tailwind CSS v3, ApexCharts;
ApiService,AuthService,authGuard,authInterceptor,SidebarService - Pages: Login, Register, Dashboard (KPIs + bar/donut charts), Accounts, Budgets, Expenses, Transactions, Calendar, Profile
- Responsive layout: mobile-first — slide-in sidebar drawer, backdrop close,
overflow-x-autotables, notifications as full-width top drawer on mobile - Sidebar: collapsible to icon-only view with flyout submenus and tooltips; toggle in navbar
- Dark/Light mode: sun/moon toggle in navbar; preference persisted in
localStorage(dark default) - i18n: 4 languages (DE/FR/IT/EN) via ngx-translate;
LanguageService; browser language auto-detection; canton names translated per UI language - Calendar: year view with month modal; Swiss public and school holidays by canton (2025–2026); expense due dates and deadlines; day detail slide-in drawer; iCal feed (
HMAC-SHA256token auth) with "Subscribe" button - Infrastructure: PostgreSQL, nginx reverse proxy, Forgejo Actions CI/CD pipeline,
.env.example
Fixed
- Profile: canton and language selects not saving — switched to
[ngModel]/(ngModelChange) - Calendar: canton not reflected on load; iCal feed
pytzimport error - Sidebar: collapse button unwired; flyout menus clipped due to
overflow-y-auto; mobile submenus replaced with Angular signal-based state - i18n: translations not loading —
src/assetsmissing fromangular.jsonassets - Production: hardcoded
http://127.0.0.1:8000replaced with relative API paths throughout
Downloads