This project provides functions to do planning poker in online.
- Sign in/Sign up with pre-registered email/password
- Create game with story points, or some numbers what you want
- Invite other user to game
- Kick player by game owner
- Change user name/mode
- Show average estimations after show down
- Browse round histories from round result
- Restore round history and view it
- Node >= 16
- Firebase project you have own
- pnpm (recommended using latest version)
- JRE >= 1.8
- To run firebase emulators
- React.js
- React Router
- Vite
- Vitest
- Redux Toolkit & React-Redux & Redux-Observable
- twind
You should login to firebase before to start development.
$ pnpm i
$ npx firebase login
$ npx firebase init
You must select below in npx firebase init
:
- Realtime database
- Hosting
- Emulator
NOTICE: Please do not overwrite firebase.json in a process of initialization. If you overwrite it, this project can not run correctly.
Create firebase.config.ts
into src
. Content of it like below.
export const firebaseConfig = { projectId: "foobar", apiKey: "api" };
It is recommended that the projectId in firebase.config.ts
be set to the same value as the one in .firebaserc
.
$ pnpm run test
# want to watch source and run test
$ pnpm run test:watch
$ pnpm run lint
The command below run firebase emulators, tsc for type checking, and vite to build.
$ pnpm run start
Then open localhost:5173
to see top page.
$ pnpm run ci
# In other terminal
$ npx playwright test
Sources of e2e tests are under tests
directory.
You can start the storybook with the following command.
$ pnpm run storybook
If you want to add stories, or modify current stories, you edit .stories.tsx
files under src
directory.
You put firebase.config.prod.ts
into under src/ts
.
firebase.config.prod.ts
export firebaseConfig
that like object below.
export const firebaseConfig = {
apiKey: "api key",
authDomain: "auth domain",
projectId: "project id",
storageBucket: "bucket",
messagingSenderId: "sender id",
databaseURL: "database url",
appId: "app id",
};
You can get the object from your firebase console.
Notice: This feature is based on beta feature of Firebase Hosting.
$ pnpm run publish:preview
Open your firebase console of Hosting, then you can find preview URL.
$ pnpm run publish:production
And you can open application from your app URL!
MIT