Skip to content

Latest commit

 

History

History
122 lines (104 loc) · 5.1 KB

File metadata and controls

122 lines (104 loc) · 5.1 KB

Group Project Plan | CSE 310—Applied Programming

Unique Team Name Team Member Names
Team 1 Diar SalehEthan
Team 1 TrentEthan
Team 1 McMasterIan
Team 1 Joshua Chapman
Team 1 Moroni Motta
Team 1 Nathan Luckock
Team 1 Tyler Burdett

IoT Smart Home Dashboard with AI Monitoring

Description

The IoT Smart Home Dashboard will combine real-time weather data and simulated smart home sensor data into a single platform. Data will be collected hourly, stored in a SQL database, and displayed in a React-based UI. AI/ML models will add predictive insights, anomaly detection, and chatbot support. A notification system will provide users with timely alerts.

Goals:

  • Provide a functional dashboard that merges environmental and smart home data.
  • Enable interactive controls and insights through AI.
  • Create a scalable foundation for real-world sensor integration in the future.

Requirements:

2.1 Data Retrieval (Weather + Simulation)

  • Weather API: Open Meteo (hourly + current forecast).
  • Simulated Sensors: Indoor temperature, humidity, motion, energy usage, and additional metrics as needed.
  • Frequency: Pull or generate new data every hour.
  • Tech: Python scripts for both API and simulation.
  • Requirements:
    • Ensure retry logic if API fails.
    • Generate consistent simulated sensor readings (e.g., within plausible ranges).

2.2 Data Storage (SQL Database)

  • Database: SQLite for MVP, optional migration to PostgreSQL.
  • Tables:
    • users (user profile, preferences).
    • devices (list of simulated devices).
    • readings (time-series sensor values).
    • weather_data (hourly forecasts & current).
    • notifications (alerts, logs).
  • Requirements:
    • Support time-series queries.
    • Maintain referential integrity between users, devices, and readings.
    • Enable historical analysis for ML models.

2.3 UI/UX Dashboard (Frontend)

  • Framework: React with Rocket template.
  • Views:
    • Overview: Current home status + weather.
    • Smart Home: Device states, toggles, charts.
    • Weather: Current & forecasted conditions, graphs.
    • Notifications: Alerts, history, user preferences.
    • AI/Insights: Predictions, chatbot interface.
  • Styling: Modified Rocket template with team branding.
  • Requirements:
    • Responsive design (desktop + mobile).
    • Charts for trends (energy usage, temperature, etc.).
    • Dark/light mode optional.

2.4 AI & Machine Learning

  • Chatbot:
    • Answer simple queries about home conditions or weather.
    • Integration with GPT API (subscription available).
  • Models:
    • Energy usage prediction (time, day, temp).
    • Anomaly detection (temperature spikes, unexpected usage).
    • Future clustering (behavior patterns).
  • Tech: Python (scikit-learn, pandas).
  • Requirements:
    • MVP: At least one functional predictive model.
    • Lightweight chatbot integration.
    • Training pipeline from stored database.

2.5 Notification System

  • Delivery: ntfy.sh push notifications (mobile + desktop).
  • Triggers:
    • Motion detected when user away.
    • Energy spikes.
    • Severe weather alerts.
  • Preferences:
    • Threshold-based alerts (user-defined).
    • Opt-in/opt-out settings.
  • Requirements:
    • Store logs in notifications table.
    • Handle errors gracefully (retry if failed to send).

Determine Team Roles (Optional)

Assign roles to each team member. If you have fewer than 6 people, then some team members will need to have 2 roles. Refer to the Team Project Description in I-Learn for a description of each role.

Role Team Member Name
Team Leader
Project Manager
Graphic Designer
Quality Assurance
DevOps
Scrum Master

Github

As a team, start to draft issues based on your understanding of the team project. Include tasks related to planning, researching, implementing requirements, and testing. Researching includes anything that you do not currently know how to do as well as the creation of prototypes. The Project Manager should maintain this Project board throughout the semester. You will need to add more Issues and move existing Issues to different columns as the project progresses.

TODOs

  • We have started to add some of the stories and features(milestones) to the project board and repository that will get us through sprint 1 and some of sprint 2
  • We have added the professor and ta to the Repository
  • We have added the professor and ta to the Project Board
  • We know the general order in which each feature and their stories should be worked in
  • This file is saved in our github Repository