{"id":20748269,"url":"https://github.com/albinvar/smart-lock-uno-laravel","last_synced_at":"2025-10-16T02:56:39.740Z","repository":{"id":176968990,"uuid":"615615245","full_name":"albinvar/smart-lock-uno-laravel","owner":"albinvar","description":"Web Module for Smart Lock Uno: Simplify control and management of your smart lock system with this intuitive web interface. ","archived":false,"fork":false,"pushed_at":"2023-11-21T21:24:28.000Z","size":358,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T05:07:52.444Z","etag":null,"topics":["api","facial-recognition","iot","iot-application","iot-device","iot-prototype","jetstream","laravel","livewire","php","prototype","rfid","smart-lock","smart-lock-uno","web","web-api"],"latest_commit_sha":null,"homepage":"https://lock.albinvar.in","language":"Blade","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/albinvar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-18T06:46:30.000Z","updated_at":"2024-06-06T15:21:55.000Z","dependencies_parsed_at":"2023-11-21T07:50:04.665Z","dependency_job_id":"ce70b11a-8c18-43ac-a025-86889f4d2ae7","html_url":"https://github.com/albinvar/smart-lock-uno-laravel","commit_stats":null,"previous_names":["albinvar/smart-lock-uno-laravel"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albinvar%2Fsmart-lock-uno-laravel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albinvar%2Fsmart-lock-uno-laravel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albinvar%2Fsmart-lock-uno-laravel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albinvar%2Fsmart-lock-uno-laravel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/albinvar","download_url":"https://codeload.github.com/albinvar/smart-lock-uno-laravel/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243047298,"owners_count":20227589,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","facial-recognition","iot","iot-application","iot-device","iot-prototype","jetstream","laravel","livewire","php","prototype","rfid","smart-lock","smart-lock-uno","web","web-api"],"created_at":"2024-11-17T08:16:13.358Z","updated_at":"2025-10-16T02:56:34.694Z","avatar_url":"https://github.com/albinvar.png","language":"Blade","funding_links":["https://www.buymeacoffee.com/albinvar"],"categories":[],"sub_categories":[],"readme":"\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/albinvar/smart-lock-uno-laravel\"\u003e\n    \u003cimg src=\"https://i.ibb.co/qFnmJ0z/Brand-initial-Simple-Logo.png alt=\"Logo\" width=\"260\" height=\"260\"\u003e\n\u003ca href=\"https://laravel.com\" target=\"_blank\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg\" width=\"400\" alt=\"Laravel Logo\"\u003e\u003c/a\u003e\n  \u003c/a\u003e\n  \n  \u003ch3 align=\"center\"\u003e💫 🦋 Smart Lock Uno - Web Module 🔐 ✨\u003c/h3\u003e\n    \u003ch6 align=\"center\"\u003eVersion 1.0.0 👨🏻‍💻\u003c/h6\u003e\n\n  \u003cp align=\"center\"\u003e\n    A smart lock system with facial recognition, RFID authentication, and web API control using Arduino Uno and Python\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/albinvar/smart-lock-uno-laravel\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/downloads/albinvar/smart-lock-uno-laravel/total\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/repo-size/albinvar/smart-lock-uno\"\u003e\n    \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/albinvar/smart-lock-uno-laravel\"\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://lock.lov3.pw\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/albinvar/smart-lock-uno-laravel/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/albinvar/smart-lock-uno-laravel/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\nThe [project demo](https://lock.lov3.pw) is hosted for FREE 💝 on [Wexron Hosting](https://wexronhosting.com).\n\n\u003ca href=\"https://wexronhosting.com\"\u003e\u003cimg src=\"https://wexronhosting.com/_nuxt/wex.76a224d8.svg\" /\u003e\u003c/a\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n## Table of contents 🌈\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project-\"\u003eAbout The Project\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#prerequistites-\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#features-\"\u003eFeatures\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#installation-%EF%B8%8F\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage-\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#explanation-\"\u003eExplanation\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing-\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license-\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact-\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgments-\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n  \n ##  Introduction\n \n 🔒 The Smart Lock Uno Web Module is a simple and intuitive web interface designed to control and manage a smart lock system with multiple authentication methods. \n\nThis module is an integral part of the [smart-lock-uno](https://github.com/albinvar/smart-lock-uno), offering a user-friendly web interface for controlling and managing a smart lock system. \n\n💻 Built on Laravel 10  🦄, It integrates with the project's web API to provide features such as lock and unlock functionality and intruder detection image display. The module utilizes Laravel Livewire for real-time page updates and Laravel Jetstream for rapid development. For installation and usage instructions, refer to the project's documentation.\n\n## Features ✨\n\n✨ The Smart Lock Web Module offers the following features:\n\n- **⚙️ Built on Laravel 10:** The web module is developed using Laravel 10, the latest version of the popular PHP framework. Laravel 10 brings numerous enhancements, improved performance, and added features, making it a reliable choice for building smart lock systems.\n\n-  **🔗 Web API Integration:** The module integrates with a web API provided by the [smart lock system](https://github.com/albinvar/smart-lock-uno) to control and monitor the lock.\n\n- **🔄 Real-time Page Updates:** Leveraging Laravel Livewire, the web module provides real-time page updates, ensuring a seamless user experience.\n\n- **🔒 Lock and Unlock:** Users can remotely lock and unlock the smart lock through the web interface.\n\n- **📸 Intruder Detection:** The web module displays pictures of intruders captured by the [smart lock system](https://github.com/albinvar/smart-lock-uno), providing visual evidence of unauthorized access attempts.\n\n- **🚀 Laravel Jetstream Integration:** The project utilizes Laravel Jetstream to simplify development and streamline processes, with much secure authentication and simplicity.\n\n### Prerequisites  📋\nBefore setting up the Smart Lock Web Module, ensure you have the following:\n\n- php 8.1+\n- composer 2.0 +\n- [smart-lock-uno](https://github.com/albinvar/smart-lock-uno) installed and configured properly.\n\n## Installation ⚙️\n\nFollow these steps to set up the Smart Lock Web Module:\n\n - Clone the repository:\n```bash\ngit clone https://github.com/your/repository.git\n```\n\n- Install the dependencies:\n```bash\ncd smart-lock-web-module\ncomposer install\n```\n\n- Install Node dependencies:\n```bash\n#using npm\nnpm install 📦\n#using yarn (recommended)\nyarn install 🧶\n#using pnpm\npnpm install 🍭\n```\n\n\n- Configure the environment variables:\n```bash\ncp .env.example .env\n```\n\n- Generate the application key:\n```bash\nphp artisan key:generate\n```\n\n- Configure the API endpoint for the smart-lock:\n```bash\nAPI_ENDPOINT=http://127.0.0.1:5000\n```\n\n- Compile your CSS / JavaScript for development and recompile on change. **(for developers)**\n```bash\n# npm 📦\nnpm run dev\n# yarn 🧶\nyarn dev\n# pnpm 🍭\npnpm dev\n```\nOR\n\n- Compile your CSS / JavaScript for production...\n```bash\n# npm 📦\nnpm run build\n# yarn 🧶\nyarn build\n# pnpm 🍭\npnpm build\n```\n\n- Run the development server:\n```bash\nphp artisan serve\n```\n- Access the Smart Lock Web Module:\nOpen a web browser and visit `http://localhost:8000`.\n\n## Usage\n\n### 🔒 Lock and Unlock:\n\n- After accessing the dashboard, you can find controls to lock and unlock the smart lock.\n- Click on the respective buttons to perform the desired action.\n\n### 📸 Intruder Detection:\n\n- The web module displays pictures of intruders captured by the smart lock system.\n- Navigate to the bottom part to view the images and identify unauthorized access attempts.\n\n## Explanation 👩‍🚀\n\n### Web API (Flask) 🛸\n\nThe Web API is an additional authentication method that runs on a separate thread on [smart-lock-uno](https://github.com/albinvar/smart-lock-uno) and uses a Flask-based API. Its codes are located in the `src/website.py` file. The Web API listens actively on a specific port for requests and uses requests to communicate with the API. The Website API is accessible via a local server, but it is recommended to use port forwarding tools like `ngrok` or `cloudflared tunnel` to access it from the wide area network.\n\nThe Website API requires a token to authorize each request, ensuring that only authenticated users can access the API. Unlike other authentication methods, the Website API does not have a delay to keep the solenoid lock unlocked. Instead, the lock is enabled only when a specific lock action request is received.\n\nOne of the key advantages of the Website API is its ability to serve all the intruder images stored and served through the api. This feature allows users to view images of intruders and take appropriate action, such as notifying law enforcement. Additionally, the Website API provides an easy-to-use interface for interacting with the security system and monitoring its status.\n\n#### API Documentation 📃\n\nThe following api endpoints on [smart-lock-uno](https://github.com/albinvar/smart-lock-uno) are used to communicate with the lock mechanism.\n\n\u003e NB: The following API endpoints is being integrated from [smart-lock-uno](https://github.com/albinvar/smart-lock-uno) project.\n\n| HTTP Method | Endpoint | Parameters | Description |\n|:------:|:------:|:------:|:------:|\n|    `GET`    |    `/ping`    |    *N/A*    |    Checks if the system is up and running.   |\n|    `POST`    |    `/lock`    |    - `action` \u003cbr\u003e - `password` (if action is unlock)    |    Locks or unlocks the solenoid lock    |\n|    `GET`    |    `/intruders`    |    *N/A*    |    Returns a list of images/frames captured for unauthorized persons    |\n|    `GET`    |    `/intruders/{filename}`    |    `filename`    |    Returns a specific image    |\n\n\n## Contributing 🌠\n\nThis project is open source and contributions are welcome. To contribute, please fork the repository, make your changes, and submit a pull request.\n\n## License 📃\n\nThis project is licensed under the \u003ca href=\"LICENSE\"\u003eMIT License\u003c/a\u003e. See the LICENSE file for more information.\n\n## Contact 📞\n\nIf you have any questions, feedback, or suggestions for this project, please feel free to contact us:\n\n- Name: **Albin Varghese**\n- Email: albinvar@pm.me\n\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/albinvar)\n\n## Acknowledgments 👏\n\nThis project was inspired by various smart lock projects available on the internet. Thanks to OpenCV Python and Flask for providing the tools necessary for facial recognition and web API authentication, respectively. Thanks to the Arduino community for providing helpful resources and support for this project. Additionally, thank you to ChatGPT, an AI language model trained by OpenAI, for generating helpful responses and contributing to the development of this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbinvar%2Fsmart-lock-uno-laravel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falbinvar%2Fsmart-lock-uno-laravel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbinvar%2Fsmart-lock-uno-laravel/lists"}