Bachelor's Engineering Thesis Project
A comprehensive web-based frontend for managing and controlling smart home devices with real-time monitoring and automation capabilities.![]()
![]()
![]()
![]()
- Overview
- Features
- Technologies
- Project Structure
- Installation
- Usage
- Components
- Development
- Contributing
- License
Check out the YouTube Shorts demonstration to see the system in action!
This Smart Home System frontend is a modern, responsive web application designed to provide comprehensive control and monitoring of various smart home devices. Built as part of a Bachelor's Engineering Thesis, it demonstrates advanced web development techniques and IoT integration patterns.
The application features a sleek, dark-themed interface with real-time device control, automation scenarios, security monitoring, and detailed analytics. It communicates with Arduino-based hardware and backend services through WebSocket connections for instant updates.
- Smart Lighting Control - Brightness adjustment and on/off switching
- Heat Pump Controller - Temperature regulation and scheduling
- Sensor Monitoring - Real-time environmental data tracking
- Camera Integration - Live video streaming and security monitoring
- Front Gate Control - Access management and visitor monitoring
- Scenario Management - Custom automation rules and triggers
- Task Scheduling - Automated device operations
- Activity Monitoring - Comprehensive system activity logs
- Statistics Dashboard - Usage analytics and performance metrics
- Real-time Chat - Integrated communication system
- Alarm System - Security alerts and notifications
- Session Management - Secure user authentication and timeout handling
- Responsive Design - Optimized for desktop and mobile devices
- Dark Theme - Modern, eye-friendly interface
- Real-time Updates - Instant device status synchronization
- Intuitive Navigation - Clean, organized dashboard layout
- React 18.2.0 - Modern React with hooks and functional components
- PrimeReact 10.7.0 - Comprehensive React UI component library
- PrimeIcons 7.0.0 - Rich icon set for consistent visual language
- Tailwind CSS 3.4.1 - Utility-first CSS framework
- Inter Font - Modern, readable typography
- Custom Color Palette - Branded design system with
larablue
accent
- Socket.IO Client 4.8.1 - WebSocket communication for live updates
- React Router DOM 6.24.0 - Client-side routing and navigation
- Jest Library - Comprehensive testing utilities
frontend-arduino/
βββ public/
β βββ certificates/ # SSL certificates
β βββ details/ # Project documentation assets
β βββ img/ # Static images and assets
β βββ manifest.json # PWA configuration
βββ src/
β βββ components/ # Reusable React components
β β βββ dashboard-tabs/ # Dashboard tab components
β β βββ cameraStreamComponent.jsx
β β βββ chatComponent.jsx
β β βββ dashboard-header.jsx
β β βββ frontGateComponent.jsx
β β βββ heatPumpController.jsx
β β βββ scenarioComponent.jsx
β β βββ sensorAlarmComponent.jsx
β β βββ statisticCompomnent.jsx
β β βββ tasksComponents.jsx
β βββ pages/ # Application pages/routes
β β βββ home.jsx # Landing page
β β βββ panel-dashboard.jsx # Main dashboard
β β βββ login-app-home.jsx # Authentication
β β βββ add-new-app-home.jsx # Device setup
β β βββ author.jsx # Author information
β β βββ details.jsx # Project details
β β βββ stack.jsx # Technology stack
β β βββ mockup.jsx # Design mockups
β βββ styles/ # Global styles and utilities
β βββ scripts/ # Utility scripts
β βββ downloads/ # Downloadable assets
β βββ icons/ # Custom icon components
βββ tailwind.config.js # Tailwind CSS configuration
βββ package.json # Dependencies and scripts
- Node.js (v14 or higher)
- npm or yarn package manager
- Arduino/IoT Backend (for full functionality)
-
Clone the repository
git clone https://github.com/Seveneqqq/frontend-arduino.git cd frontend-arduino
-
Install dependencies
npm install
-
Start development server
npm start
-
Open your browser Navigate to http://localhost:3000
npm run build
The optimized production build will be created in the build/
directory.
npm start
- Runs the app in development mode
- Hot reload enabled for instant updates
- Open http://localhost:3000 to view
npm test
- Launches the test runner in interactive watch mode
- Includes unit tests for components and utilities
npm run build
- Creates optimized production bundle
- Minified and optimized for deployment
- Ready for hosting on any static server
- HeaderDashboard - Navigation and user controls
- DevicesTab - Device management interface
- ActivityTab - System activity monitoring
- AutomationTab - Scenario and automation rules
- SettingsTab - System configuration
- AccountTab - User account management
- HeatPumpController - Temperature control interface
- CameraStreamComponent - Live video streaming
- FrontGateComponent - Access control system
- SensorAlarmComponent - Security monitoring
- ChatComponent - Real-time communication
- ScenarioComponent - Automation management
- StatisticComponent - Analytics dashboard
- TasksComponent - Scheduled operations
- SessionTimedOut - Security timeout handling
PaweΕ BoroΕ
- Email: pawel.boron01@interia.pl
- Project: Bachelor's Engineering Thesis - Smart Home System
Built with β€οΈ using React, PrimeReact, and Tailwind CSS