The challenge
What I wanted to explore.
Generalise a specific solution without duplicating logic, while keeping configuration, permissions and data access clearly separated.
Current state
Still evolving.
Reporting, queries and document generation now share a common configuration and administration foundation.
Lessons learned
What I explored.
- Turning one-off tools into reusable modules
- Permission-aware architecture
- Configuration boundaries
- Reusable data access