This project is designed to provide a comprehensive solution for controlling various smart home devices, including lights, ventilation, air conditioning, heating, and more.
- Lighting Control: Manage and automate your home's lighting system, including dimming, color changes, and scheduling.
- Ventilation Management: Control ventilation systems to ensure optimal air quality and comfort.
- Climate Control: Adjust and automate air conditioning and heating systems to maintain the desired temperature.
- User Interface: Intuitive web interface for easy control and monitoring of all connected devices.
- Automation: Create custom automation rules to enhance convenience and energy efficiency.
This guide will walk through the necessary steps to set up and configure the project.
Before the beginning, the following prerequisites have to be installed on the system:
- Laravel 11.28.1 - This project used the Laravel framework.
- Git - Version control system.
- PHP 8.3.13 - Main programming language.
- Node.js 21.7.3 - JavaScript runtime environment.
- Composer 2.7.7 - PHP dependency manager.
- npm 10.5.0 - Node.js package manager.
- Development environments can be used:
-
Clone the Project:
Start by cloning the project repository using Git.
-
Configure the Environment:
Navigate to the project directory and locate the .env.exemple files. Configure .env files base on these files with the specific environment settings, such as database credentials and other project-specific configurations.
-
Install Dependencies, Packages and run Project:
composer install
php artisan key:generate php artisan migrate
npm install npm run dev
-
This project uses the following formatting standards:
- Laravel Pint;
- PEAR;
- PSR-12.
-
This project follows Git Commit Patterns.
-
This project uses Pest PHP for testing frameworks.
-
Useful Commands
- Seed database with dev user and devices data:
php artisan db:seed
- Run cron in a development environment (task scheduling):
php artisan schedule:work
- Seed database with dev user and devices data:
See Smart-Home-Control-Data project for configuring the necessary backend server for the services.