[Legacy] System Architecture - WNJXYK/JLU_DSD GitHub Wiki

Architecture Design

Architecture

Responsibility

Server

  1. Build statble connections with hardware

    • Authenicate hardware's identification
    • Record whether each hardware is online or not
    • Record hardware's data
    • Send command to hardware
  2. Provide API to Web and APP

    • Authenicate user's identification
    • API for querying information about hardwares
    • API for controlling hardwares remotely
  3. Interact with Intelligence Controller

    • Generate essential data and submit data to IC
    • Get command from IC and send to hardware

Database

  1. User Interface

    • Save user information
    • User's authority
    • Login & Register & Authenticate protocols
  2. Room & Hardware Interface

    • Add / Remove rooms & hadwares
    • Link / Unlink hadwares with rooms

Intelligence Controller

  1. Generate commands due to data

Hardware

  1. Generate data

    • Gather raw data
    • Process raw data
  2. Communicate with server

    • Build connection
    • Report data
    • Receive command (Only for light and so on)
  3. Control hardware

Communication

Server - IC

  • Essential hardware's data / user's command
  • Command

Server - Terminal

  • User identification
  • Hardware data
  • Command

Server - Database

  • User identification
  • Hardware information
  • Room information

Server - Hardware

  • Basic indentification
  • Data
  • Command

Database - Terminal

  • User identification
  • Hardware information
  • Room information