The system is organized into three layers:
Business Layer: Handles faculty operations, admin functions, and learning workflows
System Layer: Includes user interfaces, backend modules, APIs, and database logic
Technical Layer: Uses React, Spring Boot, SQL database, and secure authentication
Enterprise Architecture Diagram
Figure 1: Enterprise architecture showing platform components and interactions.
Figure 2: ER diagram representing data flow
The data flow in the Gemini Faculty Companion follows a structured path that connects users, courses, assessments, certificates, discussions, and analytics. The flow begins when a user logs in. The Users table stores personal details, role type, accessibility settings, and profile information. Each user belongs to a department through the Departments table. This connection helps administrators track adoption across different academic units.
When a faculty member accesses a course, the system retrieves information from the Courses and Modules tables. Every course is linked to several modules, and each module includes its own learning materials. As the user progresses, the system records their activity in the Progress table. This table captures module progress percentages, timestamps, and course level completion status.
During assessments, the Quiz Questions table provides the questions, choices, and correct answers. When a faculty member submits a quiz, the Quiz Submissions table stores the selected answers, score, date, and user ID. These relationships allow the platform to show cumulative quiz scores and track learning performance.
Certificates are generated when a user completes all required modules in a course. The Certificates table records the user ID, course ID, issue date, and certificate file path. This allows the system to display all earned certificates in the user dashboard.
The platform also includes collaborative and feedback features. Discussion records connect users with their posted messages, categories, and timestamps through the Discussions and Discussion Categories tables. Faculty can add ratings and comments, which are stored in the Feedback table. These entries provide insight into user experience and support continuous improvement.
Search behavior is tracked in the Search Logs table. Each entry stores the user ID, search text, filters applied, and timestamp. This data supports admin analytics by showing what faculty look for most often.
Administrators access high-level insights through the Admin Analytics table. Metrics are calculated from data stored across progress, quizzes, certificates, discussions, and search logs. These analytics help the institution monitor engagement patterns, identify departments that need support, and understand how faculty interact with the platform.
The ERD shows a connected data flow where each feature uses a central set of relational tables. The flow moves from user actions to stored records and ends with aggregated analytics that support faculty development.