Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jozwiaczek/smart-gate
π Open source system for handling access to any physical entry gate.
https://github.com/jozwiaczek/smart-gate
gate home-assistant home-automation home-gate iot javascript monorepo nestjs open-source pwa react siri-shortcuts smart smart-home typescript web
Last synced: about 6 hours ago
JSON representation
π Open source system for handling access to any physical entry gate.
- Host: GitHub
- URL: https://github.com/jozwiaczek/smart-gate
- Owner: Jozwiaczek
- License: mit
- Created: 2021-01-08T15:38:53.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-04-05T21:00:03.000Z (over 1 year ago)
- Last Synced: 2024-06-24T19:32:09.518Z (5 months ago)
- Topics: gate, home-assistant, home-automation, home-gate, iot, javascript, monorepo, nestjs, open-source, pwa, react, siri-shortcuts, smart, smart-home, typescript, web
- Language: TypeScript
- Homepage: https://smart-gate-docs.vercel.app
- Size: 9.88 MB
- Stars: 23
- Watchers: 2
- Forks: 4
- Open Issues: 69
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
Awesome Lists containing this project
README
Smart Gate
π Open source system for handling access to any physical entry gate.
Created by Jakub JΓ³ΕΊwiak and Mateusz Nestorowicz
Documentation:
smart-gate-docs.vercel.app
UI/UX:
figma.com/smart-gate
Storybook:
smart-gate.chromatic.com
β οΈ Smart Gate is still in heavy development β οΈ
[![Netlify Status](https://api.netlify.com/api/v1/badges/426cfdcb-e5e4-4067-97f2-c6106bde9195/deploy-status)](https://app.netlify.com/sites/smart-gate/deploys)
[![Docs Status](https://img.shields.io/github/deployments/Jozwiaczek/smart-gate/Production?label=Docs&logo=vercel&logoColor=white)](https://smart-gate-docs.vercel.app/)
[![CI](https://github.com/Jozwiaczek/smart-gate/actions/workflows/continous_integration.yml/badge.svg?branch=dev)](https://github.com/Jozwiaczek/smart-gate/actions/workflows/continous_integration.yml)
[![Heroku Status](https://img.shields.io/github/deployments/Jozwiaczek/smart-gate/smart-gate-jj?label=Server&logo=heroku&logoColor=heroku)](https://img.shields.io/github/deployments/Jozwiaczek/smart-gate/smart-gate-jj?label=Server&logo=heroku&logoColor=heroku)
[![Netlify Status](https://api.netlify.com/api/v1/badges/426cfdcb-e5e4-4067-97f2-c6106bde9195/deploy-status)](https://app.netlify.com/sites/smart-gate/deploys)
[![Vercel Status](https://img.shields.io/github/deployments/Jozwiaczek/smart-gate/production?label=Documentation&logo=vercel&logoColor=vercel)](https://img.shields.io/github/deployments/Jozwiaczek/smart-gate/production?label=Documentation&logo=vercel&logoColor=vercel)
[![GitHub last commit](https://img.shields.io/github/last-commit/Jozwiaczek/smart-gate)](https://github.com/Jozwiaczek/smart-gate/commits)
[![CodeFactor](https://www.codefactor.io/repository/github/jozwiaczek/smart-gate/badge)](https://www.codefactor.io/repository/github/jozwiaczek/smart-gate)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg)](#contributors-)
[![Star on GitHub](https://img.shields.io/github/stars/Jozwiaczek/smart-gate.svg?style=social)](https://github.com/Jozwiaczek/smart-gate)## π© Table of Contents
- [About](#-about)
- [Setup for your own usage](#setup-for-your-own-usage)
- [Deploy web application](#deploy-web-application)
- [Deploy server](#deploy-server)
- [Prepare your Raspberry Pi](#prepare-your-raspberry-pi)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [Contributing Guidelines](#contributing-guidelines)
- [Want to Help?](#want-to-help?)
- [Code of Conduct](#code-of-conduct)
- [Roadmap](#roadmap)
- [Changelog](#changelog)
- [Contributors](#contributors)
- [License](#license)## π About
![Smart gate info banner](banner-about.png)
System for managing and handling access to any physical entry home gate or door.
The whole idea is to add smart control for your any already existed electric lock or gate.Sounds familiar?
Right, but there is one significant difference between others smart lock, it is **COMPLETELY FREE**.From physical side only what you have to do is to prepare [Raspberry Pi](https://www.raspberrypi.org/products/) and add some [3V Relay Module](https://www.google.com/search?q=relay+module+3v&tbm=isch&ved=2ahUKEwjll9aUt8_yAhVXvyoKHeMbBmgQ2-cCegQIABAA&oq=relay+module+3v&gs_lcp=CgNpbWcQAzIHCCMQ7wMQJzIGCAAQCBAeUKweWP8hYNEjaABwAHgAgAFliAGXApIBAzIuMZgBAKABAaoBC2d3cy13aXotaW1nwAEB&sclient=img&ei=o-wnYaW6Ldf-qgHjt5jABg&bih=1329&biw=2560&rlz=1C5CHFA_enPL923PL923) between Raspberry and your gate to enable ability for opening.
Rest part of Smart Gate system is handled by predefined templates for simplifying process of deploying server, database, and web app.
Only what you have to do in this step is to click 2 buttons from [Setup for your own usage](#setup-for-your-own-usage) and fill provided secrets.After those steps You will transform your simply or even old gate/door into your private smart system.
https://user-images.githubusercontent.com/29049653/131034360-aef67a76-4060-4953-8ed0-3694fe3e4809.mp4
## π Quick setup for your own usage
> _Important note:_
> Bellow you will find only short and a temporary description on how to setup Smart Gate.
>
> More details will be added soon in [documentation website](https://smart-gate-docs.vercel.app/).In order to use the Smart Gate system in your environment, you have to deploy your own instance
of the client, server and database.
To make it as simple as possible there is already a prepared template for deploying all packages.What's important is that the whole setup and its usage is free, so You don't have to worry about any billing.
Why it's free because every part of this setup assumes usage of free tiers without any need to upgrades those pricing plans.
You only have to click the buttons below to deploy your own instances and fill up the required environment variables.
### Deploy web application
Click the button below to deploy [client package](packages/client/README.md) with prepared web application using predefined [Netlify](https://www.netlify.com) template.
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/Jozwiaczek/smart-gate)
### Deploy server
Click the button below to deploy [api package](packages/api/README.md) with prepared server application using predefined [Heroku](https://www.heroku.com) template.
[![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/Jozwiaczek/smart-gate)
### Prepare your Raspberry Pi
#### One-Step Automated Install
Those who want to get started quickly and conveniently may install Smart Gate using the following command:
### `curl -sSL https://smart-gate-docs.vercel.app/install | bash`
#### Alternative Installation Methods
Piping to `bash` is controversial, as it prevents you from [reading code that is about to run](https://raw.githubusercontent.com/Jozwiaczek/smart-gate/main/packages/device/installer/installer.sh) on your system.
Therefore, we provide these alternative installation methods which allow code review before installation:##### Method 1: Clone our repository and run
```bash
git clone --depth 1 https://github.com/Jozwiaczek/smart-gate.git
cd "smart-gate/packages/device/installer"
sudo bash installer.sh
```##### Method 2: Manually download the installer and run
```bash
wget -O installer.sh https://smart-gate-docs.vercel.app/install
sudo bash installer.sh
```#### Post install check
After completed successfully installation check is everything working properly.
Your Raspberry Pi should be initialized and connected with your server.
_Check **standard logs**:_
```bash
cat /var/log/smart-gate-standard.log
```_Check **error logs**:_
```bash
cat /var/log/smart-gate-error.log
```## π Documentation
Check out our [documentation website](https://smart-gate-docs.vercel.app/).
## π Contributing
### Contributing Guidelines
Read the [contributing guide](CONTRIBUTING.md) to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Smart Gate.
### Want to Help?
Want to file a bug, contribute some code, or improve documentation? Excellent!
Read up on our guidelines for contributing and then check out one of our issues labeled as [![Help Wanted](https://img.shields.io/github/issues/Jozwiaczek/smart-gate/help%20wanted.svg)](https://github.com/Jozwiaczek/smart-gate/issues?q=is%3Aopen+is%3Aissue+label%3A%22help-wanted%22) or [![Good First Issue](https://img.shields.io/github/issues/Jozwiaczek/smart-gate/good%20first%20issue.svg)](https://github.com/Jozwiaczek/smart-gate/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
### Code of Conduct
Help us keep Smart Gate open and inclusive. Please read and follow our [Code of Conduct](CODE_OF_CONDUCT.md).
## π Roadmap
The future plans and high priority features and enhancements can be found in the [roadmap](https://github.com/Jozwiaczek/smart-gate/projects/1).
## π Changelog
For details about the latest updates check the [changelog](CHANGELOG.md).
## Contributors β¨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Jakub JΓ³ΕΊwiak
π» π π¨ π€ π π
Mefjus
π» π€ π
nikofiko123
π¨
Vatras
π
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
## License
Copyright 2020 Jakub JΓ³ΕΊwiak.
Licensed under the [MIT license](LICENSE).