Leverandørvakt
In EntwicklungEin Frühwarndienst für norwegische Unternehmen, basierend auf offenen Daten des Brønnøysund-Registerzentrums. Nutzer folgen den Firmen, mit denen sie arbeiten, und werden benachrichtigt, wenn sich etwas Wichtiges ändert.
Begonnen: 8. November 2026
- Node.js
- TypeScript
- Express 5
- PostgreSQL
- Sequelize
- Umzug
- JWT
- Swagger
Warum ich es baue
Kleine Unternehmen merken oft erst dann, dass ein Lieferant oder Kunde in Schwierigkeiten ist, wenn eine Rechnung unbezahlt bleibt. Das öffentliche Register zeigt die Warnsignale bereits: ein neuer Geschäftsführer, Änderungen im Vorstand, verspätete Jahresabschlüsse oder die Eröffnung eines Insolvenzverfahrens. Leverandørvakt beobachtet diese Signale, damit der Nutzer es nicht tun muss.
Roadmap
28 / 32 Meilensteine erledigtAus der README des Projekts · auf Englisch
Foundation
- Express 5 + TypeScript project setup
- Brønnøysund API integration: lookup by organization number and search by name
- Layered architecture: routes, controllers, services, mappers
- Swagger / OpenAPI documentation
- PostgreSQL connection with Sequelize
- Versioned migrations with Umzug, applied on startup
Authentication and users
- User registration and login (bcrypt + JWT)
- Internal ID + public UUID, roles (
user/admin) requireAuthmiddleware for protected endpointsGET /api/auth/me— current user's profile- Admin account created once on startup from environment variables
Watchlist and change detection
- Data model design:
companies,watchlist_entries,company_changes - Add and remove companies from a user's watchlist
- Scheduled change detection using the Brønnøysund update feeds (companies and roles)
- Change history per company
- Notifications for followed companies
Testing and CI
- Test setup: Vitest + Supertest with a separate test database
- Fake Brønnøysund API for tests, so the suite never depends on the network
- Tests for auth, companies, watchlist, change detection, role changes, annual accounts, risk signals, notifications, the AI assistant and admin
- GitHub Actions CI: type check and tests on every push
Company data
- Roles: CEO and board changes from the Brønnøysund roles API
- Annual accounts: key figures from the Register of Company Accounts
- Annual accounts: storing every filing, detecting new filings and warning signs
- Ownership service: separate Python ETL for Skatteetaten shareholder data
Insights
- Role network: shared people and audit firms across your companies, matched on name and birth date without storing them
- Risk signals: explainable assessment, stored levels and early warning
- Regional trends: new registrations by month, municipality, industry and form, with industry breakdowns
AI
- AI assistant with tool calling, using the existing service functions
Delivery
- Docker Compose for local development
- Deployment (Render + Aiven PostgreSQL)
- Frontend
- Usage guide with scenarios