• Effective-Office Effective-Office
  • Информация о проекте
    • Информация о проекте
    • Активность
    • Метки
    • Участники
  • Репозиторий
    • Репозиторий
    • Файлы
    • Коммиты
    • Ветки
    • Теги
    • Участники
    • Диаграмма
    • Сравнение
  • mos.track
    • mos.track
    • Список
    • Доски
    • Спринты
  • Запросы на слияние 0
    • Запросы на слияние 0
  • CI/CD
    • CI/CD
    • Конвейеры
    • Задания
    • Расписания
  • Развертывания
    • Развертывания
    • Окружения
    • Релизы
  • Пакеты и реестры
    • Пакеты и реестры
    • Реестр пакетов
    • Реестр контейнеров
  • Мониторинг
    • Мониторинг
    • Инциденты
  • Аналитика
    • Аналитика
    • Поток ценности
    • CI/CD
    • Репозиторий
  • mos.wiki
    • mos.wiki
  • Сниппеты
    • Сниппеты
  • Активность
  • Диаграмма
  • Создать новую задачу
  • Задания
  • Коммиты
  • Доски с задачами
Свернуть панель
  • Эффектив
  • Effective-Office
  • Wiki
  • Overview

Overview · Изменения

История страницы
docs: remove extensive project documentation from the repository создал Июл 24, 2025 по автору Radch-enko's avatar Radch-enko
Скрыть пробелы
Построчно Рядом
Overview.md 0 → 100644
Просмотреть страницу @394a2f21
# Overview
The Effective Office system is an office management platform designed to automate various office processes, with a
primary focus on meeting room booking and workspace management. This document provides a high-level introduction to the
system architecture, core components, and fundamental concepts.
The system follows a client-server architecture where a Spring Boot backend provides REST APIs for office resource
management, while tablet clients display room availability and enable quick booking operations. For detailed information
about specific subsystems, see System Architecture for architectural patterns, Backend System for server-side
implementation details, and Tablet Client Application for client-side specifics.
# System Purpose and Scope
**Effective Office** serves as a comprehensive solution for office automation with these primary objectives:
| **Goal** | **Description** |
|---------------------------|----------------------------------------------------------------------------------------------------------|
| **Process Automation** | Automate various office processes including room booking, availability tracking, and resource management |
| **Real-time Information** | Provide up-to-date status of meeting rooms and office spaces through tablet displays |
| **Calendar Integration** | Seamlessly integrate with Google Calendar for unified booking management |
| **User Experience** | Enable instant room reservations with single-tap booking functionality |
---
The system is built as a **multi-module Kotlin application**, focusing on modern and relevant solutions within the
Kotlin ecosystem while minimizing dependencies on other languages and technologies.
# High-Level System Architecture
The system consists of three main architectural layers:
## System Components Overview
![system_architecture_preview.svg](media/system_architecture_preview.svg)
# Core Features and Capabilities
The system provides comprehensive room management functionality through its tablet interface:
| **Feature** | **Implementation** | **Code Reference** |
|------------------------------|-------------------------------------------------------------|---------------------------------------------------|
| **Real-time Availability** | Live room status updates via push notifications | `RoomInfoUseCase`, `UpdateUseCase` |
| **Quick Booking** | Single-tap room reservation | `FastBooking`, `CreateBookingUseCase` |
| **Time-Specific Reservations**| Detailed booking with custom time slots | `BookingEditor`, `SlotComponent` |
| **Booking Management** | Cancel and modify existing reservations | `DeleteBookingUseCase` |
| **Google Calendar Sync** | Bidirectional calendar integration | `GoogleCalendarProvider` |
| **Early Release** | Free up rooms before scheduled end time | `BusyRoomInfoComponent` |
# Technology Stack Overview
## Backend Technology Stack
![backend-technology-stack.svg](media/backend-technology-stack.svg)
## Client Technology Stack
![client-tech-stack.svg](media/client-tech-stack.svg)
# Primary Data Flow Patterns
The system implements several key data flow patterns for different operations:
## Booking Creation Flow
![booking-creation-flow.svg](media/booking-creation-flow.svg)
## Real-time Update Flow
![real-time-update-flow.svg](media/real-time-update-flow.svg)
# Key System Components
The system is organized into distinct modules with clear responsibilities:
## Backend Modules
| **Module** | **Purpose** | **Key Classes** |
|------------------------------|----------------------------------------|--------------------------------------------------|
| `backend.app` | Main application and configuration | `SpringBootApplication` |
| `booking.core` | Core booking business logic | `CalendarProvider`, `Booking` |
| `booking.calendar.google` | Google Calendar integration | `GoogleCalendarProvider` |
| `workspace` | Room and space management | `WorkspaceDomainService` |
| `notifications` | Push notification handling | `NotificationService` |
| `authorization` | Authentication and security | `JWT`, `Spring Security` |
## Client Modules
| **Module** | **Purpose** | **Key Components** |
|------------------------------|----------------------------------------|--------------------------------------------------|
| `composeApp` | Main application entry point | `RootComponent` |
| `feature.main` | Home dashboard and room display | `MainComponent`, `BusyRoomInfoComponent` |
| `feature.bookingEditor` | Booking creation interface | `BookingEditorComponent` |
| `feature.fastBooking` | Quick reservation workflow | `FastBookingComponent` |
| `feature.slot` | Time slot visualization | `SlotComponent` |
| `core.domain` | Business logic and use cases | `CreateBookingUseCase`, `RoomInfoUseCase` |
# Deployment and Operational Model
The system is containerized and deployed using Docker Compose with proper reverse proxy configuration:
- Containerization: All services run in Docker containers managed by docker-compose
- Reverse Proxy: Caddy handles SSL termination and load balancing
- Database: PostgreSQL with automated migrations via Flyway
- Environment Management: Configuration through environment variables and .env files
- The deployment supports both development and production environments with appropriate configuration management.
\ No newline at end of file
Клонировать репозиторий
  • Backend System
  • Backend System
    • Booking Management
    • Database And Configuration
    • Notifications and Real time Updates
    • Workspace Management
  • Core Features
  • Core Features
    • Fast Booking System
    • Real time Availability Workflow
    • Room Booking Workflow
  • Data Layer and Repository
  • Data and Domain Architecture
  • Data and Domain Architecture
    • Data Layer and Repositories
    • Domain Use Cases
  • Deployment and Operations
  • Deployment and Operations
    • Configuration Management
Просмотреть все страницы