Skip to main content

The Development Guide

Architecture Overview


Frontend Architecture

The frontend is intentionally built using only React & MobX to minimize dependencies and maintain complete control over interface elements without being tied to any pre-built styles, CSS frameworks, or third-party UI libraries. This approach ensures:

  • Maximum flexibility in UI/UX design decisions
  • Reduced bundle size and improved performance
  • Full ownership of the user interface without external constraints
  • Better long-term maintainability and customization capabilities

Dual Frontend Implementation

The system will feature two independent frontend implementations:

  1. Web GUI - A modern browser-based graphical user interface
  2. Terminal-Based CLI - A command-line interface for terminal users

Both implementations provide complete functionality while catering to different user preferences and use cases.

More about Frontend

Backend API Design

The backend operates through a API that serves both frontend implementations as well as third-party applications. This API-first approach ensures:

  • Consistent data access across all client types
  • Simplified integration for external systems
  • Decoupled architecture allowing independent frontend evolution
  • Standardized communication protocols

More about Backend

Database Architecture

The backend integrates with a PostgreSQL database where all endpoints are implemented through stored procedures. This design choice is driven by:

  • Enhanced Future Compatibility - Stored procedures provide a stable interface layer that can evolve independently of application code
  • Improved Performance - Database-level logic execution reduces network overhead and leverages PostgreSQL's optimization capabilities
  • Centralized Business Logic - Critical operations are maintained within the database layer for consistency and reliability
  • Security Benefits - Stored procedures provide an additional security layer and help prevent SQL injection attacks

This architecture ensures robust, scalable, and maintainable system design while providing flexibility for future enhancements and integrations.

More about DataBase