smart-gate

πŸ” Open source system for handling access to any physical entry gate.

https://github.com/jozwiaczek/smart-gate

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • βœ“
    CITATION.cff file
    Found CITATION.cff file
  • βœ“
    codemeta.json file
    Found codemeta.json file
  • βœ“
    .zenodo.json file
    Found .zenodo.json file
  • β—‹
    DOI references
  • β—‹
    Academic publication links
  • β—‹
    Committers with academic emails
  • β—‹
    Institutional organization owner
  • β—‹
    JOSS paper metadata
  • β—‹
    Scientific vocabulary similarity
    Low similarity (8.0%) to scientific vocabulary

Keywords

gate home-assistant home-automation home-gate iot javascript monorepo nestjs open-source pwa react siri-shortcuts smart smart-home typescript web

Keywords from Contributors

mesh annotation-tool pypi annotation metaheuristic interactive
Last synced: 6 months ago · JSON representation ·

Repository

πŸ” Open source system for handling access to any physical entry gate.

Basic Info
Statistics
  • Stars: 24
  • Watchers: 1
  • Forks: 5
  • Open Issues: 72
  • Releases: 36
Topics
gate home-assistant home-automation home-gate iot javascript monorepo nestjs open-source pwa react siri-shortcuts smart smart-home typescript web
Created about 5 years ago · Last pushed almost 3 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

Smart Gate

smart gate logo
πŸ” 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 Docs Status CI Heroku Status Netlify Status Vercel Status GitHub last commit CodeFactor semantic-release All Contributors Star on GitHub

🚩 Table of Contents

πŸ”‘ About

Smart gate info banner

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 and add some 3V Relay Module 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 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.

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 with prepared web application using predefined Netlify template.

Deploy to Netlify

Deploy server

Click the button below to deploy api package with prepared server application using predefined Heroku template.

Deploy to Heroku

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 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.

πŸ™ Contributing

Contributing Guidelines

Read the contributing guide 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 or Good First Issue.

Code of Conduct

Help us keep Smart Gate open and inclusive. Please read and follow our Code of Conduct.

πŸ“ Roadmap

The future plans and high priority features and enhancements can be found in the roadmap.

πŸ“ˆ Changelog

For details about the latest updates check the changelog.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Jakub JΓ³ΕΊwiak

πŸ’» πŸ“– 🎨 πŸ€” πŸš‡ πŸ‘€

Mefjus

πŸ’» πŸ€” πŸ‘€

nikofiko123

🎨

Vatras

πŸ‘€

This project follows the all-contributors specification. Contributions of any kind welcome!

License

Copyright 2020 Jakub JΓ³ΕΊwiak. Licensed under the MIT license.

Owner

  • Name: Jakub JΓ³ΕΊwiak
  • Login: Jozwiaczek
  • Kind: user
  • Location: Warsaw, PL
  • Company: @dotintent

Software Engineer πŸ‘¨πŸ»β€πŸ’»

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Jakub"
  given-names: "JΓ³ΕΊwiak"
- family-names: "Mateusz"
  given-names: "Nestorowicz"
title: "Smart Gate System"
date-released: 2021-01-08
url: "https://github.com/Jozwiaczek/smart-gate"

GitHub Events

Total
  • Issues event: 2
  • Issue comment event: 1
  • Fork event: 1
Last Year
  • Issues event: 2
  • Issue comment event: 1
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 781
  • Total Committers: 6
  • Avg Commits per committer: 130.167
  • Development Distribution Score (DDS): 0.27
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
jakub.jozwiak k****i@g****m 570
dependabot[bot] 4****] 106
Mateusz Nestorowicz n****1@g****m 58
semantic-release-bot s****t@m****t 38
allcontributors[bot] 4****] 8
nikofiko123 3****3 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 46
  • Total pull requests: 57
  • Average time to close issues: 14 days
  • Average time to close pull requests: 1 day
  • Total issue authors: 4
  • Total pull request authors: 4
  • Average comments per issue: 0.02
  • Average comments per pull request: 0.04
  • Merged pull requests: 53
  • Bot issues: 0
  • Bot pull requests: 10
Past Year
  • Issues: 3
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 0.33
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Jozwiaczek (41)
  • Mefjus (2)
  • Darth-Carrotpie (2)
  • asti009asti (1)
Pull Request Authors
  • Jozwiaczek (33)
  • Mefjus (12)
  • dependabot[bot] (10)
  • fossabot (1)
Top Labels
Issue Labels
client (22) devops (9) api (7) enhancement (4) good first issue (3) bug (2) help wanted (1)
Pull Request Labels
dependencies (10) javascript (9) client (5) github_actions (1)

Dependencies

package.json npm
  • @commitlint/cli ^13.1.0 development
  • @commitlint/config-conventional ^13.1.0 development
  • @commitlint/config-lerna-scopes ^13.1.0 development
  • @semantic-release/changelog ^5.0.1 development
  • @semantic-release/git ^9.0.1 development
  • @types/node ^16.9.1 development
  • @types/pg ^8.6.1 development
  • @typescript-eslint/eslint-plugin ^4.31.1 development
  • @typescript-eslint/parser ^4.31.1 development
  • concurrently ^6.2.1 development
  • enquirer ^2.3.6 development
  • eslint ^7.32.0 development
  • eslint-config-airbnb ^18.2.1 development
  • eslint-config-airbnb-typescript ^14.0.0 development
  • eslint-config-prettier ^8.3.0 development
  • eslint-loader ^4.0.2 development
  • eslint-plugin-cypress ^2.12.1 development
  • eslint-plugin-eslint-comments ^3.2.0 development
  • eslint-plugin-import ^2.24.2 development
  • eslint-plugin-jest ^24.4.0 development
  • eslint-plugin-jsdoc ^37.0.3 development
  • eslint-plugin-jsx-a11y ^6.4.1 development
  • eslint-plugin-node ^11.1.0 development
  • eslint-plugin-prettier ^4.0.0 development
  • eslint-plugin-promise ^5.1.0 development
  • eslint-plugin-react ^7.25.1 development
  • eslint-plugin-react-hooks ^4.2.0 development
  • eslint-plugin-regexp ^1.1.0 development
  • eslint-plugin-security ^1.4.0 development
  • eslint-plugin-simple-import-sort ^7.0.0 development
  • eslint-plugin-testing-library ^4.12.2 development
  • husky ^7.0.2 development
  • hygen ^6.1.0 development
  • lerna ^4.0.0 development
  • lint-staged ^11.1.2 development
  • prettier ^2.4.0 development
  • rimraf ^3.0.2 development
  • serve ^12.0.1 development
  • sort-package-json ^1.51.0 development
  • @types/nodemailer ^6.4.4
  • base64url ^3.0.1
  • dotenv ^10.0.0
  • nodemailer ^6.6.3
  • pg ^8.7.1
  • ts-node ^10.2.1
  • typescript ^4.4.3
packages/api/package.json npm
  • @nestjs/testing ^8.0.6 development
  • @types/jest ^27.0.1 development
  • jest ^27.2.0 development
  • ts-jest ^27.0.5 development
  • @nestjs/cli ^8.1.1
  • @nestjs/common ^8.0.6
  • @nestjs/core ^8.0.6
  • @nestjs/mapped-types ^1.0.0
  • @nestjs/platform-express ^8.0.6
  • @nestjs/platform-socket.io ^8.0.6
  • @nestjs/schematics ^8.0.3
  • @nestjs/throttler ^2.0.0
  • @nestjs/typeorm ^8.0.2
  • @nestjs/websockets ^8.0.6
  • @sentry/node ^6.12.0
  • @types/bcrypt ^5.0.0
  • @types/cache-manager ^3.4.2
  • @types/cookie-parser ^1.4.2
  • @types/csurf ^1.11.2
  • @types/express ^4.17.13
  • @types/jsonwebtoken ^8.5.5
  • @types/mjml ^4.7.0
  • @types/ms ^0.7.31
  • @types/uuid ^8.3.1
  • @types/web-push ^3.3.2
  • bcrypt ^5.0.1
  • cache-manager ^3.4.4
  • class-transformer ^0.4.0
  • class-validator ^0.13.1
  • cookie-parser ^1.4.5
  • helmet ^4.6.0
  • jsonwebtoken ^8.5.1
  • mjml ^4.10.3
  • ms ^2.1.3
  • reflect-metadata ^0.1.13
  • rimraf ^3.0.2
  • rxjs ^7.3.0
  • ts-loader ^9.2.5
  • tsconfig-paths ^3.11.0
  • typeorm ^0.2.37
  • uuid ^8.3.2
  • web-push ^3.4.5
packages/client/package.json npm
  • @storybook/addon-a11y ^6.3.8 development
  • @storybook/addon-actions ^6.3.8 development
  • @storybook/addon-console ^1.2.3 development
  • @storybook/addon-essentials ^6.3.8 development
  • @storybook/addon-jest ^6.3.8 development
  • @storybook/addon-storysource ^6.3.8 development
  • @storybook/addons ^6.3.8 development
  • @storybook/components ^6.3.8 development
  • @storybook/preset-create-react-app ^3.2.0 development
  • @storybook/react ^6.3.8 development
  • @storybook/theming ^6.3.8 development
  • @testing-library/jest-dom ^5.14.1 development
  • @testing-library/react ^12.1.0 development
  • @testing-library/user-event ^13.2.1 development
  • @types/animejs ^3.1.4 development
  • @types/jest ^26.0.24 development
  • @types/node ^16.9.1 development
  • @types/react ^17.0.20 development
  • @types/react-dom ^17.0.9 development
  • @types/react-query ^1.2.9 development
  • @types/react-router-dom ^5.1.9 development
  • @types/styled-components ^5.1.14 development
  • react-scripts ^4.0.3 development
  • @popperjs/core ^2.10.1
  • @sentry/react ^6.12.0
  • @sentry/tracing ^6.12.0
  • animejs ^3.2.1
  • axios ^0.21.4
  • copy-to-clipboard ^3.3.1
  • i18next ^20.6.1
  • i18next-browser-languagedetector ^6.1.2
  • intersection-observer ^0.12.0
  • react ^17.0.2
  • react-dom ^17.0.2
  • react-draggable ^4.4.4
  • react-hook-form ^7.15.3
  • react-i18next ^11.12.0
  • react-popper ^2.2.5
  • react-query ^3.23.2
  • react-router-dom ^5.3.0
  • socket.io-client ^4.2.0
  • styled-components ^5.3.1
  • use-sound ^4.0.1
  • web-vitals ^2.1.0
  • workbox-background-sync ^6.3.0
  • workbox-broadcast-update ^6.3.0
  • workbox-cacheable-response ^6.3.0
  • workbox-core ^6.3.0
  • workbox-expiration ^6.3.0
  • workbox-google-analytics ^6.3.0
  • workbox-navigation-preload ^6.3.0
  • workbox-precaching ^6.3.0
  • workbox-range-requests ^6.3.0
  • workbox-routing ^6.3.0
  • workbox-strategies ^6.3.0
  • workbox-streams ^6.3.0
packages/device/package.json npm
  • @types/node ^16.9.1 development
  • @types/rpio ^2.4.2 development
  • ts-node ^10.2.1 development
  • typescript ^4.4.3 development
  • chalk ^4.1.2
  • dotenv ^10.0.0
  • ngrok ^4.2.2
  • rpio ^2.4.2
  • socket.io-client ^4.2.0
packages/e2e/package.json npm
  • @types/imap-simple ^4.2.5 development
  • @types/mailparser ^3.0.3 development
  • cypress ^8.4.0 development
  • cypress-recurse ^1.8.1 development
  • imap-simple ^5.1.0 development
  • mailparser ^3.3.1 development
www/package.json npm
  • @docusaurus/module-type-aliases 2.0.0-beta.6 development
  • @tsconfig/docusaurus ^1.0.4 development
  • @types/react ^17.0.14 development
  • @types/react-helmet ^6.1.2 development
  • @types/react-router-dom ^5.1.8 development
  • typescript ^4.3.5 development
  • @docusaurus/core 2.0.0-beta.6
  • @docusaurus/preset-classic 2.0.0-beta.6
  • @mdx-js/react ^1.6.21
  • @svgr/webpack ^5.5.0
  • clsx ^1.1.1
  • file-loader ^6.2.0
  • intersection-observer ^0.12.0
  • prism-react-renderer ^1.2.1
  • react ^17.0.1
  • react-dom ^17.0.1
  • react-intersection-observer ^8.32.1
  • url-loader ^4.1.1
www/yarn.lock npm
  • 1195 dependencies
yarn.lock npm
  • 2731 dependencies
.github/workflows/chromatic.yml actions
  • actions/cache v2.1.6 composite
  • actions/checkout v2.3.4 composite
  • actions/setup-node v2.1.5 composite
  • chromaui/action v1 composite
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2.3.4 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
.github/workflows/continous_integration.yml actions
  • actions/cache v2.1.6 composite
  • actions/checkout v2.3.4 composite
  • actions/github-script v4.0.2 composite
  • actions/setup-node v2.1.5 composite
  • cypress-io/github-action v2 composite
  • postgres * docker
.github/workflows/pr-auto-approve.yml actions
  • hmarr/auto-approve-action v2.1.0 composite
.github/workflows/prepare-release-pr.yml actions
  • actions/cache v2.1.6 composite
  • actions/checkout v2.3.4 composite
  • actions/github-script v4.0.2 composite
  • actions/setup-node v2.1.5 composite
.github/workflows/release.yml actions
  • actions/cache v2.1.6 composite
  • actions/checkout v2.3.4 composite
  • actions/setup-node v2.1.5 composite
packages/api/docker-compose.yml docker
  • dpage/pgadmin4 latest
  • postgres latest
packages/api/yarn.lock npm
packages/ci-scripts/package.json npm
packages/client/yarn.lock npm