Plug&Play System for managing Smart Table Football with a lot of features.
Smart Table Football is the whole system built for propose of managing and track games on physical table football. With Raspberry Pi with few sensors it gives You ability to move game in a physical table football on the next level.
Module | Status | Public URL |
---|---|---|
Admin | https://smart-table-football-admin.netlify.app | |
Player | https://smart-table-football.netlify.app |
- Backend:
- Api - Server built on top of Feather.js, Socket.io with MongoDB which connects all modules.
- Core - Package with all constants and models used in all others packages.
- Raspberry:
- Table - Main hardware server which manage every connected sensors like camera or gate sensor.
- Table Manager - This package contains manager for managing table server in run. It provides ability to remotely starts, stops and upgrade table server.
- Frontend:
- Admin - Administration app for managing all system resources like players, teams, matches and table server.
- Player - Main app for players/users. It provides abilities for managing account, creating teams, matches and track all statistics from all games.
- UI Components - Package which contains all sharable UI components between admin and player packages.
- Plug and Play
- Mobile, Tablet and Desktop friendly
- App works offline, and it can be added to phone/desktop home screen
- Real-time connection with Raspberry PI
- Mailing system
- Internationalization (i18n)
- Themeable, Highly customizable interface
- Super-fast UI
- All kinds of statistics for players
- Goals replay (They can be also saved into provided Google Drive)
Commitlint checks if your commit messages meet the conventional commit format.
Example:
feat(api): add user service
Common types according to commitlint-config-conventional can be: conventional-commit-types
Scirpty is the workspace level script's manager. It can run every executable file. Every script which is same for every package like 'lint' should be declared in scripts directory. After adding new script, it requires granting rights for read/write, to do that, in project root directory run:
yarn grant-scripty-permissions
-
Make sure you have all required tools:
-
Add
.env
files with secrets based on.env.example
in: -
Deploy MongoDB Docker image
- Go to Api Docs
- Follow
How To Deploy And Manage MongoDB With Docker
section
-
Install project dependencies
yarn install
-
Run Api
cd packages/api yarn start
-
Prepare Raspberry and run Table Manager
- Go to Table Manager Docs
- Follow
Getting Started
section
-
Run Player App
cd packages/player yarn start
-
Run Admin App
cd packages/admin yarn start
-
Play with UI Components
cd packages/ui-components yarn storybook
For more details about this package check ui-components README in section
Getting started
.