Skip to content

SmartHome – a Java-based simulation of a smart home system with device management and automation.

Notifications You must be signed in to change notification settings

ofgot/SmartHome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏡 SmartHome System

Authors: Daria Kuznetsova & Khomenko Tymofii

📌 Overview

The SmartHome System is a Java-based simulation of a smart home system with device management and automation. It improves home automation by connecting smart devices and allowing easy interaction between residents and automated systems. It also has a statistics module to track and analyze system performance.

📋 Features

  • 🌡 Temperature Monitoring – Automatically checks and adjusts home temperature.
  • 📺 TV Volume Control – Increase or decrease TV volume remotely.
  • Smart Fridge Management – Load and take products.
  • 🔌 Device Control – Turn devices on/off based on user input.
  • 📊 Statistics Tracking – Collect and analyze data on device usage and system interactions.

🎭 Design Patterns Used

The system is designed using various software design patterns to ensure maintainability, scalability, and efficiency:

  • 🔄 Observer Pattern – Used for monitoring system changes, such as temperature adjustments.
  • 🏗 Factory Method Pattern – Manages the creation of smart home devices dynamically.
  • 🎭 Singleton Pattern – Ensures a single instance of key system components (e.g., statistics manager).
  • 🔌 Command Pattern – Allows encapsulating smart home device operations (turning on/off, adjusting settings) as commands.
  • 🌳 Composite Pattern – Organizes smart home devices into hierarchical structures.
  • 🎯 Strategy Pattern – Enables flexible behavior selection for data collection(statistic).
  • Lazy Initialization – Delays the creation of objects until they are actually needed, optimizing performance.

📜 Diagrams

📌 Class Diagram

Class Diagram

🎭 Use Case Diagram

Use Case Diagram

About

SmartHome – a Java-based simulation of a smart home system with device management and automation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages