Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/einenlum/pinball-friends
A simple and self-hosted app to track pinball scores between friends
https://github.com/einenlum/pinball-friends
laravel pinball
Last synced: about 12 hours ago
JSON representation
A simple and self-hosted app to track pinball scores between friends
- Host: GitHub
- URL: https://github.com/einenlum/pinball-friends
- Owner: Einenlum
- License: mit
- Created: 2024-01-10T20:28:20.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-02-12T22:34:28.000Z (9 months ago)
- Last Synced: 2024-02-12T23:36:44.030Z (9 months ago)
- Topics: laravel, pinball
- Language: PHP
- Homepage: https://demo.pinball-friends.com
- Size: 170 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Pinball Friends
![](doc/images/capture.png)
A minimalistic app to store pinball scores between friends.
No user authentication, just an easy-to-use app. See [security](#Security) if you want HTTP Basic protection.
A live demo is available [here](https://demo.pinball-friends.com/).
## Requirements
- PHP (>= 8.1), composer, node >= 18.0.
- Tested with SQLite, but should work with MySQL and Postgres too.## Installation
```shell
cp .env.example .env
```Change `DB_DATABASE` to specify an absolute path where your sqlite database will be stored.
```shell
make local-install
```Run it locally:
```shell
npm run dev
php artisan serve
```## Deployment
The app can be easily deployed on many hosting services since it uses Laravel (PHP) and SQlite.
If you want to host it on [Fly](https://fly.io), which offers a generous free tier, follow these instructions (an adapted [Dockerfile](Dockerfile) is already present in this repository):
- [Install flyctl](https://fly.io/docs/hands-on/install-flyctl/) and [log in](https://fly.io/docs/hands-on/sign-in/).
- Change the `app` variable in [fly.toml](fly.toml) and choose a unique name.
- `flyctl apps create `
- `flyctl volume create my_database_volume -n 1 -r >` (see available regions on fly [here](https://fly.io/docs/reference/regions/)). Use only one volume if you're using SQLite.
- Add metedata on the volume if needed
- `flyctl deploy`## Security
To avoid giving access anyone to your app (and potentially editing your data), set these two env vars:
```
SECURITY_USERNAME="foo"
SECURITY_PASSWORD="bar"
```Then your app will prompt a basic HTTP access.