Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/falco467/meeple-app
App for friends to vote on Boardgames and organize events
https://github.com/falco467/meeple-app
astro firebase pwa svelte tailwind
Last synced: about 2 months ago
JSON representation
App for friends to vote on Boardgames and organize events
- Host: GitHub
- URL: https://github.com/falco467/meeple-app
- Owner: falco467
- License: mit
- Created: 2023-01-12T17:37:59.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-31T21:15:13.000Z (5 months ago)
- Last Synced: 2024-08-02T00:11:29.841Z (5 months ago)
- Topics: astro, firebase, pwa, svelte, tailwind
- Language: Svelte
- Homepage:
- Size: 1.18 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Meeple App
This is a small web application designed to coordinate board games events
by voting on boardgames. It is designed to be used by a small group of friends.It is powered by Astro (HTML Build using Vite), Svelte (reactive components),
Tailwind (Utility CSS Styling) and Firebase (Hosting, Database, Cloud Functions)## Project Structure
```
/
├─ .vscode/ # VS Code recommended extensions and dev/build scripts
├─ functions/ # firebase cloud functions
│ └─ index.mjs # functions to proxy BoardGameGeek XML API (no CORS support)
├─ public/ # Favicons and service worker + manifest to make webapp installable
│ └─ firebase.config # This file needs to be created with API-Keys to your firebase instance
├─ src/ # Code:
│ ├─ components/ # Svelte Components
│ ├─ js/ # Supporting JS code modules
│ ├─ pages/ # Index Page for Astro
│ └─ index.svelte # Primary routing component
├─ .eslintrc # Linting with JS Standard Style and Svelte
├─ astro.config # Configuration for Astro and Vite (Build)
├─ db.rules.json # Firebase Database Access Rules and Validation
├─ firebase.json # Firebase Configuration (Deployment and Caching)
├─ package.json # Node.JS (npm) Dependencies
├─ tailwind.config.cjs # Tailwind configuration
├─ tsconfig.json # Intellisense and Linting configuration
└─ README.md # this document
```
## Firebase ConfigYou will need to provide Firebase API-Keys to your firebase-project.
You can setup a free firebase-project and generate the needed keys in the
firebase console under project-settings (config and messaging)If you want to work with my personal project and just contribute to
this project, you can copy the configuration from:
https://meeple-cgn.web.app/firebaseConfig.js## HTTPS and Certificates
To test certain features this app should be run with HTTPs. For this you have to
provide a SSL certificate valid for localhost. This can easily be generated with
an app like "minica". **asto.config** expects the path to your certificate and keyfile
in enviroment variables `LOCAL_CERT` and `LOCAL_KEY`## Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
| :--------------------- | :------------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:3000` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
| `firebase login` | Login to your own firebase project |
| `firebase deploy` | Deploy firebase hosting, functions and database |## Firebase Cloud Functions
This project is setup to run with simple Email/Password authentication on firebase
by default. The app can be deployed and run on firebase free of charge, but you
will need at least the Blaze-Plan to access Cloud Functions.