App for creating and viewing BI reports intervals.ru
The application is built on a monolithic multilayer architecture, clearly separating the presentation layer, business logic, and data access. With a relatively small codebase and stable requirements, this approach delivers:
The application’s frontend is built with Next.js, Mantine UI, and Zustand. Although most components run on the client side, Next.js was chosen for its intuitive routing system and built-in environment variable protection. Mantine UI greatly accelerated interface development and provided ready-to-use SVG charts (avoiding Canvas), meeting a primary data visualization requirement. Zustand delivers lightweight and predictable state management.
The application backend is built on FastAPI, Redis, and PostgreSQL. FastAPI delivers a high-performance asynchronous API, PostgreSQL serves as a reliable relational datastore, and Redis is used solely as a fast caching layer. Omitting message brokers simplifies the architecture, reduces operational costs, and maintains the required performance and resilience.
A suite of local scripts provides convenient report configuration via YML files, data storage and accumulation as JSON files segmented by time intervals, and rapid generation of new reports. The core reporting logic is implemented using the Pandas library.
If necessary, I can involve designers, data analysts, and senior-level developers in the project