Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions .firebase/hosting.Y2xpZW50L2J1aWxk.cache
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
robots.txt,1747246108219,391d14b3c2f8c9143a27a28c7399585142228d4d1bdbe2c87ac946de411fa9a2
index.html,1747246114355,87fd6bfac60dee440f0cb8af687289398e6fe8c7b6ad32f02d154f3a369bb2ec
favicon.ico,1747246108217,1463be9bedc82e16f9364eec7a1f5152cbe56229401381eed65c1496cb884407
asset-manifest.json,1747246114355,18da15dabf1037e1075484219656c20d75f3c507485fb9e149d5b1387e0b63ac
logo192.png,1747246108218,f66564670b5bfe49f3f04a5b63107bae60f4a7736f1d3b83aa0115f7acf45150
manifest.json,1747246108219,4e1d3adad9ce7e17c0d13fac197f1c27091906f4ecf3909c9f51247bff345118
logo512.png,1747246108218,2356e0b814e58a349935c8de17226873d615d088a867d591fef48a64c80c9a2f
static/css/main.e6c13ad2.css.map,1747246114358,cc301afafc706597c201efb487db6e60f84d27f49828b760f0c3f3a28f314c28
static/js/main.dbda0a9b.js.LICENSE.txt,1747246114358,953291b77e047a1b687918f78bb8d5e31b0776777b4e47fb89377bb6466f43cc
static/css/main.e6c13ad2.css,1747246114358,7dc117daa25a4309dbab4c1304a676f1531a2a3d680260e1107371912f928473
static/js/317.043961de.chunk.js,1747246114358,477e7994487d450c11f8c5be8cf99bfb7a3d484ee40e87322579d9c8ef1b752a
img/balancer.png,1747246108218,a19093e604ba90a8d60799ca70258cb0c18fba56a4e63d7e57b9d2553ab774fe
static/js/317.043961de.chunk.js.map,1747246114358,32d51e756d0c2daa82d6ac4917e8d0611cdc5d6ca630c15f481079735aa6fc07
static/js/main.dbda0a9b.js,1747246114358,e84f01e13f0db49ba889f5c7f53c5963d406ab5ef1709bba56e8f44a3caab492
static/js/main.dbda0a9b.js.map,1747246114358,e5dc2f238cee1a6b6e61d3f4a146eea851a225ac53bcb3270fa00bcfa1446aeb
robots.txt,1751635541172,391d14b3c2f8c9143a27a28c7399585142228d4d1bdbe2c87ac946de411fa9a2
logo192.png,1751635541171,f66564670b5bfe49f3f04a5b63107bae60f4a7736f1d3b83aa0115f7acf45150
logo512.png,1751635541171,2356e0b814e58a349935c8de17226873d615d088a867d591fef48a64c80c9a2f
asset-manifest.json,1751635550736,2814afb29715989d10a7e069f1b97163d22034fc02308f466051c6da41864ac2
static/js/main.f3b0041a.js.LICENSE.txt,1751635550739,953291b77e047a1b687918f78bb8d5e31b0776777b4e47fb89377bb6466f43cc
favicon.ico,1751635541170,1463be9bedc82e16f9364eec7a1f5152cbe56229401381eed65c1496cb884407
static/js/317.043961de.chunk.js,1751635550740,477e7994487d450c11f8c5be8cf99bfb7a3d484ee40e87322579d9c8ef1b752a
index.html,1751635550736,1e30f7262e878e6c5e8f06c5550899b9aeb85b1bc5cbd38eee27dfe2e041312e
static/css/main.a4a2ec6e.css.map,1751635550739,8434d9b8cfc0ce084e0ac2f8018740d01347170fbc68f9de8a8b28b0437e71cb
static/css/main.a4a2ec6e.css,1751635550739,1c6f6404f04d72d208467e78db2a37a25d5f28be5dd177bab7a5dabf3620e50a
manifest.json,1751635541171,4e1d3adad9ce7e17c0d13fac197f1c27091906f4ecf3909c9f51247bff345118
img/balancer.png,1751635541171,a19093e604ba90a8d60799ca70258cb0c18fba56a4e63d7e57b9d2553ab774fe
static/js/317.043961de.chunk.js.map,1751635550739,32d51e756d0c2daa82d6ac4917e8d0611cdc5d6ca630c15f481079735aa6fc07
static/js/main.f3b0041a.js,1751635550740,932800711ce5d1abe4ba0e02e52853fe51889ef45af59e59277ef35f69e9781d
static/js/main.f3b0041a.js.map,1751635550740,b66e011edbf9904b9385ab782167eb6f241f58b4d5468d6d68c576740f791844
46 changes: 46 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Deploy to Firebase

on:
push:
branches: [main, master]

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "npm"
cache-dependency-path: |
client/package-lock.json
functions/package-lock.json

- name: Install client dependencies
working-directory: ./client
run: npm ci

- name: Build client
working-directory: ./client
run: npm run build

- name: Install functions dependencies
working-directory: ./functions
run: npm ci

- name: Build functions
working-directory: ./functions
run: npm run build

- name: Install Firebase CLI
run: npm install -g firebase-tools

- name: Deploy to Firebase
run: firebase deploy --token "${{ secrets.FIREBASE_TOKEN }}"
env:
FIREBASE_PROJECT_ID: ${{ secrets.FIREBASE_PROJECT_ID }}
17 changes: 17 additions & 0 deletions client/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
module.exports = {
root: true,
env: {
browser: true,
es2021: true,
node: true,
},
extends: ['react-app', 'react-app/jest', 'prettier'],
plugins: ['prettier'],
rules: {
'prettier/prettier': 'error',
'no-console': 'warn',
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
'react-hooks/exhaustive-deps': 'off',
},
ignorePatterns: ['build/', 'node_modules/', '*.config.js'],
};
83 changes: 83 additions & 0 deletions client/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Dependencies
node_modules/

# Build outputs
build/
dist/

# Environment files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Coverage directory used by tools like istanbul
coverage/

# nyc test coverage
.nyc_output

# Dependency directories
jspm_packages/

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# next.js build output
.next

# nuxt.js build output
.nuxt

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Package lock files
package-lock.json
yarn.lock

# TypeScript declaration files
*.d.ts

# Generated files
*.generated.*
14 changes: 14 additions & 0 deletions client/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"semi": true,
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"bracketSpacing": true,
"bracketSameLine": false,
"arrowParens": "avoid",
"endOfLine": "lf",
"jsxSingleQuote": true,
"quoteProps": "as-needed"
}
34 changes: 34 additions & 0 deletions client/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
]
}
Loading