Understanding the architecture of Samna is crucial for effectively deploying, managing, and integrating it with your existing systems. This section provides a high-level overview of the system architecture, detailing the components and their interactions.
The system architecture of Samna is designed to ensure modularity, scalability, and security. It is composed of several key components that work together seamlessly to provide a robust meeting room booking and digital signage solution.
1. Client Applications
Samna Meet:
A tablet application installed outside meeting rooms.
Displays current room status and allows users to book or confirm room bookings.
Provides real-time updates on room availability.
Samna Area:
An overview application that provides a comprehensive view of all rooms in a specified area.
Displays a dynamic map showing room statuses and an information bar with relevant updates (e.g., weather, canteen information).
Integrates with various data sources to keep the information bar updated.
Samna Digital Signage:
An upcoming application designed to display various types of content on digital screens.
Intended for use in common areas to show schedules, announcements, and other dynamic content.
2. Backend Services
API Gateway:
Acts as the central access point for all API requests from client applications.
Manages routing, load balancing, and security for incoming requests.
Authentication Service:
Handles user authentication and authorization.
Issues and validates tokens for secure access to other services.
Room Management Service:
Manages room bookings, schedules, and availability.
Processes requests from Samna Meet to book or confirm room reservations.
Area Management Service:
Maintains and updates the status of all rooms in an area.
Manages dynamic maps and the content displayed in information bars.
Content Management Service:
(Planned) Will manage the scheduling and distribution of content for digital signage.
Provides tools for creating and organizing content to be displayed on various screens.
3. Database
Relational Database:
Stores structured data, including user information, room details, booking records, and configurations.
Ensures data consistency and integrity across the system.
NoSQL Database:
(Optional) Used for storing unstructured or semi-structured data, such as logs and dynamic content.
Provides high scalability and flexibility for handling large volumes of data.
4. Integration Services
Third-Party Integrations:
Supports integration with external systems, such as Google Calendar and Microsoft Exchange, for calendar synchronization.
Integrates with data sources for real-time updates, such as weather services and canteen menus.
Webhooks and APIs:
Enables real-time updates and notifications to other systems.
Provides endpoints for external systems to interact with Samna services programmatically.
High-Level Diagram
Below is a high-level diagram illustrating the key components and their interactions:
This architecture ensures that Samna is robust, scalable, and capable of integrating with various external systems to provide a seamless user experience.