Skip to content

Experience a whole new way to enjoy your favorite matches with our sports betting site centered around fun and beers, without any money wagered.

License

Notifications You must be signed in to change notification settings

ChouquetteCorp/beerbet

Repository files navigation

BeerBet 🍻

Vue 3, Vite, TS, PrimeVue, Supabase 💚

Experience a whole new way to enjoy your favorite matches with our sports betting site centered around fun and beers, without any money wagered. https://beer.chouquettebet.fr/

This project won an award in the "Most fun" category of Supabase Launch Week 8 Hackathon.

social

Features

  • Create and Share Bet
  • Participate to bet
  • Template Bet with matches
  • PWA (mobile first)

Project Setup

# Install
npm install

# Compile and Hot-Reload for Development
npm run dev:emulator # Launch front
npm run supabase:start # Launch backend
npm run supabase:function # Launch backend function


# Type-Check, Compile and Minify for Production
npm run build

# Test
npm run test:unit #  Run Unit Tests with [Vitest](https://vitest.dev/)
npm run test:e2e  # Run e2e with [Cypress](https://cypress.io/)

# Lint with [ESLint](https://eslint.org/)
npm run lint

Transform to XXX

All templates are defined under templates. You can use npm run cb-cli to transform or save templates.

npm run cb-cli
# Commands:
#  npm run cb-cli -- transform <template>  Transform repo with defined template
#  npm run cb-cli -- save <template>       Save current repo as template

Icon generator for template: https://realfavicongenerator.net PWA screenshot: https://studio.app-mockup.com/

Get Matchs

Get matchs from API

export SPORT_API_KEY=xxx 
npx api-sport-cli get-matchs -c .github/configApiSport/default.json -u api_id

You need to define env SPORT_API_KEY.

It will create a matchs.sql file, which contains all matchs from API. You can import it in your database.

End-to-end tests

For E2E tests, we use cypress. Cypress allows to test on several browsers (edge, chrome, firefox).

Open Cypress

# Before open cypress, you need to start your project 
npm run supabase:start
npm run dev:emulator

# Open cypress
npm run cypress:open

The command will open the cypress app: - click on "E2E testing" - choose the browser.

The selected browser will open. You can select E2E specs to run it.

# OR RUN
npm run cypress:run

Write tests

You can write tests in tests/e2e/specs/ folder. Use *.cy.ts extension.

Quick introduction to Cypress syntax is available here: https://docs.cypress.io/guides/end-to-end-testing/writing-your-first-end-to-end-test#What-you-ll-learn.

Custom command

  1. cy.login(user: string) Log in with email and password.