GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - feugy/tabulous

BranchesTags
Open more actions menu

Latest commit

 

History

232 Commits
232 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.husky
.husky
 
 
apps
apps
 
 
drawings
drawings
 
 
hosting
hosting
 
 
patches
patches
 
 
.eslintignore
.eslintignore
 
 
.eslintrc.js
.eslintrc.js
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.npmrc
.npmrc
 
 
.nvmrc
.nvmrc
 
 
.prettierignore
.prettierignore
 
 
.prettierrc.yml
.prettierrc.yml
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
TODO.md
TODO.md
 
 
jsconfig.json
jsconfig.json
 
 
package.json
package.json
 
 
pnpm-lock.yaml
pnpm-lock.yaml
 
 
pnpm-workspace.yaml
pnpm-workspace.yaml
 
 

Repository files navigation

Tabulous

Vercel GitHub CI Codacy

Tabulous is online table-top game platform: see it on tabulous.fr.

Meet your friends online to play your favorite games!

Once authenticated, you'll have access to the catalog (Chess, Klondike, Draughts...), and you can start new games.

The game 3D engine lets you handle cards, dice, pawns, tokens, boards... as you would do in real life.

Each game comes with a rule book, but the rules are not enforced, and you are free to apply yours.

To player with other people, you will first have to request friendship with them (or accept their requests), and invite them from your friend list.

Tabulous is built in Javascript with Sveltekit, Babylon.js, Rx.js, Fastify and Redis. It uses GraphQL and WebRTC.

[Work in Progress]

How to use

You need git, Node.js 20, PNPM and Redis

  1. Checkout the code:

    git clone [email protected]:feugy/tabulous.git
    cd tabulous
  2. Fetch dependencies:

    fnm
    pnpm i
  3. Then, run in dev or production mode.

Develop

  1. Creates apps/web/.env file with the following content:

    # WEB_USE_GITHUB_PROVIDER=true
    # WEB_USE_GOOGLE_PROVIDER=true
    WEB_GRAPHQL_URL=http://localhost:3001/graphql
    WEB_GAME_ASSETS_URL=http://localhost:3001/games
    WEB_AUTH_URL=http://localhost:3001/auth
  2. Creates apps/server/.env file with the following content:

    TURN_SECRET=abcd1234
  3. Start in watch mode (both server and client):

    pnpm start
  4. Your favorite browser should open and display a warning about self-signed SSL certificate. Bypass it, and start developping.

Test

The entire unit test suite (all projects) runs with pnpm t/pnpm test.

Run a given project unit test suite with pnpm test:FOLDER_NAME (pnpm test:web, pnpm test:server...).

Run a given project watch mode with pnpm dev:FOLDER_NAME (pnpm dev:web, pnpm dev:server...).

Run a single test file with pnpm --filter FOLDER_NAME test/dev FILE_NAME (pnpm --filter web dev 3d/engine, pnpm --filter server test players-resolver...).

Production

All the magic happens during continuous integration/deployment:

  1. Merge or push some code on main branch:
  2. Continuous Integration workflow kicks in, running linter, formatter and tests
  3. If it succeeds, Continuous Deployment workflow starts, build the client and server applications, packaging and uploading them to the VPS, then restarting services.

About

tabulous.fr

Resources

Readme
MIT license
Activity

Stars

4 stars

Watchers

0 watching

Forks

0 forks
Report repository

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.