Bingo for meetings – part 3 – finalizing the “Create Meeting” scenario

Bingo

Bingo is a small project, written in TypeScript , and developed with Alexandru Badita in launch break (one hour - more or less). You can find sources at https://github.com/alexandru360/PresentationBingoCards/ . Those are my blog posts for Bingo : ( scroll below for the post)
NrLink
1Create meeting
2Create Tests
3Finalize Create meeting
4Sharing meeting
5Keep Score
6Add obsolete
7Finalizing obsolete
8End meeting
9Dockerize tests
10Azure CI tests
11Yarn workspaces
12CLI
13Intermezzo - CLI improvements
14typescript compile run with node
15NestJS ,swagger and create a meeting
16Finalizing API
17Intermezzo - jest vs jasmine error
18Refactor WebAPI and test service
19Heroku Deploy NestJs
20Angular
21Deploy Angular to GitHub
22WebAPI and Web
23Documentation
24Documentation of the code
25Conclusions

In the “Create Meeting” scenario it was something that we have passed : ” application generates an unique Id that I can access the bingo cards ( state : not checked) for that meeting ” ( see https://github.com/alexandru360/PresentationBingoCards/projects/1#card-24165690 )
How we can emulate this ? Obviously, the meeting starts with a set of cards – but how about participants ? Do they have the same set of cards and check them ( bingo ) ?

There are some possible things to be programmed here:

1. The meeting have the unique set of cards and the dictionary of .

2. Every participant , when joining the meeting, have a copy ( by reference ) of the meeting cards and an array to see what is checked

3. Every card keep an array of participants that shows what participant have checked the card.

Guess what is easiear to implement ?

However, we have put a function on the meeting

public AllUnchecked(): boolean{
        return (this.Cards.filter(it=>it.IsChecked()).length === 0);
    }

and a test to ensure that, when creating a meeting, the function returns false.

So now the first scenario is done !

( On a personal note, I see that yarn is better than npm )