Skip to content

System of various applications (music player, alarm, event planner) and services (JMS, JPA, MySQL, Java REST API, Bing Maps API, Spotify Web API) which kinda simulates a smart home system.

Notifications You must be signed in to change notification settings

vstambolic/smart-home-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Smart Home System

Architecture

The system consists of 5 components:

  • Music Player
  • Alarm
  • Planner
  • User Service
  • User Interface

The first four components are all mutually connected and communicate with each other using Java Message Service (JMS). Also, they share a mutual MySQL database with whom they communicate using Java Persistence API (JPA). User Interface is a JavaFX application which communicates with User Service using RESTful web services it provides. MySQL, JMS and JPA services must be configured before running the system.

"User Interface" also uses Bing Maps API (Bing Maps V8 Web Control and Bing Maps REST Services) for displaying maps and calculating travel distance, and Spotify Web API for searching and embedding Spotify tracks. Necessary API keys must be embedded in the source code on marked places before running the system.

Features

Alarm

  • Fetching user's alarms from the database.
  • Turning user's alarms on and off.
  • Setting new alarm to ring at the desired time.
  • Setting periodic alarms.
  • Configuring desired alarm ringtone (Spotify track)

Music Player

  • Searching for and playing Spotify tracks.
  • Storing and fetching Spotify tracks that user had saved in the database.

Planner

  • Saving user's events in the database with its start time, duration and location.
  • Organizing user's events so they don't overlap.
  • Setting reminder for event.
  • Calculating travel distance between events' locations using Bing Maps API.

User Service

  • Provides REST API for the User Interface component
  • Authentication and authorization services.

User Interface

  • Provides communication between user and the rest of the system without communicating with the database directly.

About

System of various applications (music player, alarm, event planner) and services (JMS, JPA, MySQL, Java REST API, Bing Maps API, Spotify Web API) which kinda simulates a smart home system.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published