Skip to main content

Architecture Diagram

System Architecture Overview

The Inventory Management System consists of three main components:

  1. Front End: A Node.js application providing the web user interface.
  2. API: A C++ application implementing the GraphQL API and business logic.
  3. Database: A PostgreSQL database storing all inventory data securely.

Architecture Diagram

The following diagram illustrates how these components interact:

graph TD
    A[User] -->|Interacts with| B[Front End]
    B -->|GraphQL Queries & Mutations| C[API]
    C -->|SQL Queries| D[(PostgreSQL Database)]
    D -->|Data Responses| C
    C -->|GraphQL Responses| B
    B -->|Updates UI| A

Component Interaction Details

  • User Interaction: Users interact with the system via a web browser, performing actions like adding or moving items.
  • Front End Communication: The Front End sends GraphQL queries and mutations to the API to request or modify data.
  • API Processing: The API handles business logic, including authentication, validation, and data manipulation.
  • Database Operations: The API communicates with the PostgreSQL database to store and retrieve data using SQL queries.
  • Real-Time Updates: The API uses GraphQL subscriptions to notify the Front End of any data changes, ensuring all users see up-to-date information.
  • Security Measures: Authentication tokens and session management ensure secure access to the system.