From eaa8f510ccaa116c0334280d659d3272fad8fdfe Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Wed, 3 Dec 2025 21:34:14 +0100 Subject: [PATCH 01/17] Add unit test to signup and signin pages --- .../app/pages/__tests__/SignInPage.spec.tsx | 39 +++++++++++++++++++ .../app/pages/__tests__/SignUpPage.spec.tsx | 37 ++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 apps/web-chess/src/app/pages/__tests__/SignInPage.spec.tsx create mode 100644 apps/web-chess/src/app/pages/__tests__/SignUpPage.spec.tsx diff --git a/apps/web-chess/src/app/pages/__tests__/SignInPage.spec.tsx b/apps/web-chess/src/app/pages/__tests__/SignInPage.spec.tsx new file mode 100644 index 0000000..93a1f73 --- /dev/null +++ b/apps/web-chess/src/app/pages/__tests__/SignInPage.spec.tsx @@ -0,0 +1,39 @@ +import { render, screen } from '../../../test/utils/custom-testing-library'; +import { SignInPage } from '../SignInPage'; + +describe('SignInPage', () => { + it('should render the sign in form', async () => { + render(); + + expect(await screen.findByText('Sign in')).toBeTruthy(); + expect( + screen.getByText('Welcome back! Please enter your details.'), + ).toBeInTheDocument(); + expect(screen.getByPlaceholderText('Email')).toBeInTheDocument(); + expect(screen.getByPlaceholderText('Password')).toBeInTheDocument(); + expect( + screen.getByRole('button', { name: /sign in/i }), + ).toBeInTheDocument(); + }); + + it('should show success message when referer is reset-password', async () => { + render(); + + expect( + await screen.findByText( + 'Your password has been reset successfully. You can now login.', + ), + ).toBeTruthy(); + expect( + screen.queryByText('Welcome back! Please enter your details.'), + ).toBeFalsy(); + }); + + it('should render sign up link', async () => { + render(); + + const signUpLink = await screen.findByText('Sign up'); + expect(signUpLink).toBeInTheDocument(); + expect(signUpLink.closest('a')).toHaveAttribute('href', '/sign-up'); + }); +}); diff --git a/apps/web-chess/src/app/pages/__tests__/SignUpPage.spec.tsx b/apps/web-chess/src/app/pages/__tests__/SignUpPage.spec.tsx new file mode 100644 index 0000000..f8dbb02 --- /dev/null +++ b/apps/web-chess/src/app/pages/__tests__/SignUpPage.spec.tsx @@ -0,0 +1,37 @@ +import { render, screen } from '../../../test/utils/custom-testing-library'; +import { SignUpPage } from '../SignUpPage'; + +describe('SignUpPage', () => { + it('should render the sign up form', async () => { + render(); + + expect(await screen.findByText('Sign up')).toBeInTheDocument(); + expect( + screen.getByText('Create your account to get started'), + ).toBeInTheDocument(); + expect(screen.getByPlaceholderText('Name')).toBeInTheDocument(); + expect(screen.getByPlaceholderText('Email')).toBeInTheDocument(); + expect(screen.getByPlaceholderText('Username')).toBeInTheDocument(); + expect(screen.getByPlaceholderText('Password')).toBeInTheDocument(); + expect(screen.getByPlaceholderText('Confirm Password')).toBeInTheDocument(); + expect( + screen.getByRole('button', { name: /create account/i }), + ).toBeInTheDocument(); + }); + + it('should render social sign in option', async () => { + render(); + + expect( + await screen.findByRole('button', { name: /continue with google/i }), + ).toBeInTheDocument(); + }); + + it('should render sign in link', async () => { + render(); + + const signInLink = await screen.findByText('Sign in'); + expect(signInLink).toBeInTheDocument(); + expect(signInLink.closest('a')).toHaveAttribute('href', '/sign-in'); + }); +}); From 4c78c4102762b65dca8ef0e78057025fee2e8779 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Wed, 3 Dec 2025 21:49:23 +0100 Subject: [PATCH 02/17] Add tests for Request reset password --- .../RequestResetPasswordPage.spec.tsx | 29 +++++++++++++++ .../__tests__/ResetPasswordPage.spec.tsx | 35 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 apps/web-chess/src/app/pages/__tests__/RequestResetPasswordPage.spec.tsx create mode 100644 apps/web-chess/src/app/pages/__tests__/ResetPasswordPage.spec.tsx diff --git a/apps/web-chess/src/app/pages/__tests__/RequestResetPasswordPage.spec.tsx b/apps/web-chess/src/app/pages/__tests__/RequestResetPasswordPage.spec.tsx new file mode 100644 index 0000000..6260d32 --- /dev/null +++ b/apps/web-chess/src/app/pages/__tests__/RequestResetPasswordPage.spec.tsx @@ -0,0 +1,29 @@ +import { render, screen } from '../../../test/utils/custom-testing-library'; +import { RequestResetPasswordPage } from '../RequestResetPasswordPage'; + +describe('RequestResetPasswordPage', () => { + it('should render the request reset password form', async () => { + render(); + + expect(await screen.findByText('Reset Password')).toBeInTheDocument(); + expect( + screen.getByText('Enter your email to reset your password'), + ).toBeInTheDocument(); + expect(screen.getByPlaceholderText('Email')).toBeInTheDocument(); + expect(screen.getByRole('button', { name: /submit/i })).toBeInTheDocument(); + }); + + it('should render sign in link', async () => { + render(); + + const signInLink = await screen.findByText('Sign in'); + expect(signInLink).toBeInTheDocument(); + expect(signInLink.closest('a')).toHaveAttribute('href', '/sign-in'); + }); + + it('should render OR separator', async () => { + render(); + + expect(await screen.findByText('OR')).toBeInTheDocument(); + }); +}); diff --git a/apps/web-chess/src/app/pages/__tests__/ResetPasswordPage.spec.tsx b/apps/web-chess/src/app/pages/__tests__/ResetPasswordPage.spec.tsx new file mode 100644 index 0000000..5711adf --- /dev/null +++ b/apps/web-chess/src/app/pages/__tests__/ResetPasswordPage.spec.tsx @@ -0,0 +1,35 @@ +import { render, screen } from '../../../test/utils/custom-testing-library'; +import { ResetPasswordPage } from '../ResetPasswordPage'; + +describe('ResetPasswordPage', () => { + it('should render the reset password form when token is provided', async () => { + render(); + + expect(await screen.findByText('Reset Password')).toBeInTheDocument(); + expect( + screen.getByText('Complete the form to reset your password'), + ).toBeInTheDocument(); + expect(screen.getByPlaceholderText('Password')).toBeInTheDocument(); + expect(screen.getByPlaceholderText('Confirm Password')).toBeInTheDocument(); + expect(screen.getByRole('button', { name: /submit/i })).toBeInTheDocument(); + }); + + it('should show error message when token is not provided', async () => { + render(); + + expect( + await screen.findByText( + 'Something went wrong. Please try resetting your password again.', + ), + ).toBeInTheDocument(); + expect(screen.queryByPlaceholderText('Password')).toBeFalsy(); + }); + + it('should render sign in link', async () => { + render(); + + const signInLink = await screen.findByText('Sign in'); + expect(signInLink).toBeInTheDocument(); + expect(signInLink.closest('a')).toHaveAttribute('href', '/sign-in'); + }); +}); From 88eb15407357cb3037a8f58f58b5c93856c8dbbf Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Wed, 3 Dec 2025 22:09:59 +0100 Subject: [PATCH 03/17] Add test for Home Page --- .../src/app/pages/__tests__/HomePage.spec.tsx | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 apps/web-chess/src/app/pages/__tests__/HomePage.spec.tsx diff --git a/apps/web-chess/src/app/pages/__tests__/HomePage.spec.tsx b/apps/web-chess/src/app/pages/__tests__/HomePage.spec.tsx new file mode 100644 index 0000000..826e3b2 --- /dev/null +++ b/apps/web-chess/src/app/pages/__tests__/HomePage.spec.tsx @@ -0,0 +1,29 @@ +import { render, screen } from '../../../test/utils/custom-testing-library'; +import { HomePage } from '../HomePage'; + +describe('HomePage', () => { + it('should render all main sections without loading spinners', async () => { + render(); + + // Check that main card headers are present + expect( + await screen.findByRole('heading', { name: 'Play' }), + ).toBeInTheDocument(); + expect(screen.getByRole('heading', { name: 'Lobby' })).toBeInTheDocument(); + expect( + screen.getByRole('heading', { name: 'My Games' }), + ).toBeInTheDocument(); + expect(screen.getByText('Active Players')).toBeInTheDocument(); + + // Verify no loading spinners are present + expect(screen.queryByRole('status')).toBeFalsy(); + }); + + it('should render privacy policy link in footer', async () => { + render(); + + const privacyLink = await screen.findByText('Privacy Policy'); + expect(privacyLink).toBeInTheDocument(); + expect(privacyLink.closest('a')).toHaveAttribute('href', '/privacy-policy'); + }); +}); From 58845ee8801b87f43ef8e22820e4aa616dde7be6 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Wed, 3 Dec 2025 22:28:59 +0100 Subject: [PATCH 04/17] Add home-page screenshot to readme --- README.md | 1 + screenshots/home-page.png | Bin 0 -> 235677 bytes 2 files changed, 1 insertion(+) create mode 100644 screenshots/home-page.png diff --git a/README.md b/README.md index 9643bd5..84262ab 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ A modern chess application built with React, Next.js, and TypeScript. Features a ## Screenshots
+
diff --git a/screenshots/home-page.png b/screenshots/home-page.png new file mode 100644 index 0000000000000000000000000000000000000000..c35bb7252483b3f64bd45e6cd3eda2f08ba21103 GIT binary patch literal 235677 zcmagF2UHW?x<8BpA|gc)6#+r25_*et6a)e3gwR2H@4bqkND+|Udrctp-b9ezAs}5^ z=tUp|2!Vfm&pG#=^?mBiT9cW~%(HjqY5Vt-2~|;&CBF6W77h*$vD_fb9S=2;?AotNc+HdQWQF*?#%a+m*To$7Jo#92P132tal{}rSvxEmFJ8== zG1}$L5Dvw%+~M4_1u{CoDnamb+nY`wn1H;#Jq1ssX!5E9&!hmIXU(1;k@T=Ty|^nM zY$N;4J4uFpIHbDPZvRw1t9(uucb-WpL`V}aUXaebOuT6l`Cj{{9GUuKk|$)WGA~N5 zIpvA6a@zK=)NqGW3)wQNce0sOywzff!9zojD-LgKtL#Mk>1X&pbKmhyNV+c+%(Z6m zEu_f#y%_lc0Vbrv$d7@L^^KM+Qznf#O}NTkvZ63r)^H|5C$>jZu?TcGq-)uIY;NPR z&zxZ#b;;@=ePrVOPU0wzo{(_${HVlNN4YB?|K<4UixJCsiBoYhl6rca^0(I~UAb{h zah+rx)VZ3~k$Bg{qXS>lUnh|oIQW>?{)n)-EAYjEh%^H|9o4$TcffW0=qvs(kn{2# zB{w%5Dk(qtc$$L;%c5jAoR?aRRpfY=pEG#kQT>z$e5BrqQr_S0-vkCxvQ9e>`MG<^XxIf-Deerr$&y_Y!SvmK(EnfT0r?E?2 zJVUYU$0A`A`1ujpr>eFxQ4{6kjB40(iUZ6*w#qq^lStVDn-FHic9o-#z z_ZuRC=^Z*1EMLAxz8TaKahDF2)tt+1rv!@X?qo>_saPDRoE@6RC&!7vMUc<@G>~iI z=Ia0;qsIr=$k%Df@x#ksxITRR7JHMXyCN+;P5+vTe}G0=9hfI*kurGt^1bdMHO@l! zjT<-o&%eHZglp6$;>%2P`E|N{sqiK7+o}-!TiStP9r5?C`?`!Q?Tr(3eWCgO#WO9C z`rx`hJz4O(CuF2C?fe^l_w?3zxrqjF!=DpA!G(VDRw1l?x0`ii=Nf?|g(W`gm*F3x z^*3SfW*w2PLF-wh%{S=C@E$+r4-VX5WckQ!9QBORwv&KR`s-&cCMr28-aCXjl8DC& z(Y&U_YN57L)}JvwZ&vY~Nj9bJ8Bm`ettzjIg=KFQkyr=oWUr_S_C4Sz2)nBf-l8o{avt+9DRa(FenL58I=SlnB)-Aw@UlJxRe~t z(^3@l1)c-s0m?QFn(325rG+z0c7R<;yKMK06ZhTN8B(eT9ck@mHyA`qduL*(|%uC8$#y9J^lZA~>@S|~x&G@ZdcoPI=keN?cl$qP6(L1x0;Zxr5c6|_(xY|_$o zt1BT=jQb?vv9+be1Dj`4j!kcx-n4zLP%ZyFVVOHBmup~BP?70W`%`!&w@ZxWHU%9; zMXzwI3CplnBRdHo5!5dHZHrHUpO^=fWY4$DjWIH}OEA(jt)1F|3Bl9sGTyWfH4ioq zf9+)WYMk-1U!DbH-@a4$%5cQh&gxd&c6G<*3EnPYHbodq_3P8|=^^bOdTYLB40gsN zo$o19SzBEzJnl5uIyEfyIev1~- z9cuP*C0r!37nRyrX>^qYEr9Fq+hW@WuA;A~VXPkFC{LVwWHc%dNA48SCXs1Td2;oz zKjAA9FXH+x;AwyGlkCMSt)8vuZBfRIx8VM5A~(`>I&ZeuV(gqHygSe9_3PQ2nXiAk z`ALh~iFJ%ujePnpevYTAP41qIuIzBc<Ez~Awt`s! zcP%QF%c(F`GmlZIQ`k@}GT}3o%59~H`X65OuE!F`eCr*2nitm@m;Mx^e!Z|Hb1Z!; zMJLAF4uYJRRv%X6OG*&g?QuPKy*v)G3a-wpZmf>Fc;YY6CXt@l`m{y)3#BcY=>2oT zDMBCVg&ct#R;mRm8{Q0aZwuJqPVeC$+wc~p%eVOD#OcS=x>bv-(rY_?R6UA)^Qp2! z3jHGNqY108lm@voczk3ECk%8Lc2hQmTrdOT+DW#BG@q5@f$Q5}=rHc@KP^*#!(7jN z2YFXlMQ%ZxRw|&&+vFEHpJwKgarXx0CHMVIK+>$>uaZu#4nIud@E2Is`XQtBe=yVQ+rUjZpV9b3JcpC)FSYjCzJNK5K%Ajj;n zd6nZ)K8L^V!`g>-9JA+_K0i^wT6_nal3EDoqSBl}Ip$|%C#{9Q(UnTmxRJ&5ka81K zQ=_%9jS{?ZYI2flvb02Yn-VG3r0!ujM^Rqb(4PHf)&Q|k>1UK_yjX>?LYL9r6d7@k z_A6hK?WY6M8q=`ZNk3fYKM^n!a1&q!dORW#o10vQJ8!UdXS&y<)N0a>id7yyL0bMC z4K#V*eIBI{h05p={aJ43J-Ztlt85@d=>l1C{k~ZxL4ff+yuCh9QMF*9JM5JqazTVn zEI6`Xr=HcHCBodGtwm%$nji)vM4HwwzkxM5zBEcg09s>Ibi+s&sOzN(KPt#muxG|JOcxmz}F}yXxzOrDD&;?q@1`O=9%UFQgoL_jTGFyx$xxcS~GcTJERL zO<~kdoPP|jl^q-Ip7*bn)n0B~`jj0R1bC{SYhKw6ikvj@?Z+-ioN;e6Zkl{!omJ+@ z>=0k1>Y;uReQ0*kZg}nXlPEzdoQnn`935Vq+n)A$N~-Ck1VlN)<0K3RndMuzg|y~y zEZ<%o^Ryi7BZP6#?l?yH$jxFL>2aKoD4dPXP)4^?cA)2;#ytj6YG1mer(#^R7pXbI zvHokQjeAc(`d>Cq3=gG)sIOG{Utr@4JQF!7mD|KP*X(gu_OZXi%(Udp6%}#Vu*WxX z@UA_?!N(q5!*1f&sQ>3!=Gqe++<(qr$H57)!omCZJxbX9uTL~~`$hAwJ#Neg90Kew za_r`rb^Skg-+*P|{?G9c_8QJ}btySH>|Wi(+04w|#nQobAeqJrdxFsMm9`5G&OPQ| z+ch~grUUHw->o#XT(uNm3!6CDalSEiFgD}#v~&D54vwg&F!s>S%=Hbur=6|6i?F8{ z!#{TjV~>BG=3=1#=N4BRF$OI~6?!QLXES<1PHs+a2Ju_;^z@?6rsl$G(lY-h$Nmyy zuyl2G6z1ac@bKXD;Nx^~w&3Cs5)$I#=H=q$<-p#-;o@cQ`o@#P-i7gBgZyV4X)_lS zXDdfnD+hb}U*o;pFD}pRuu| zqQA}xt5|uO*=kE$*YK55fQM(*I8RU!+?9P0GXl-=zO_>HkX#axrt3 zaMH)f0{b`de_#AJp(xj{Xa6r={EN~5oW*il{FW%!|42>zR>OzeELcI(SV=2u zVE0%x`}M)Kz)wR5>?Yun8!p=`>p@8_( z7y&?{e44zDSwoDboSLET(|F3Y$J0F2&;K?andBFFdJZvl@)$LZLx{n0L>N>6vdqQ^ zjb$nc4*pTVv~!-x%*xia7i8oWJPa+!^sRXgIHzSCUIC zovoF#bIaEN?~?WpeSh+ofBTCv5Kqrf&&-W zKm_FIAw}#sQ@|(?lKf?+d?)zR|G~(SG|4&QDZPmY_cQ7H@A)%-`b0d)F^v8@A8!V~ zq_@9tOBCGV;L<;MspbAf=FVT0knE<++fER-JbTdJ)PkPO{Tey=4XZi9-=}ZC8C`!% zCe-ZjivN{Ua+z(XbLamM(F5$1?N2Ih|5X7bzvI8sd!L>}`$v`j=K>xhcFG6L34b@B zn@u>O&~l0@+`kGm&@2rJCBQl1rZY!qM8 z*Go;G-bfl(L$v6~K@k=ZA$?D-M8&d__%9FgOaqT(rZfI?d8NGOCMlS;MCpN-^7#72 z!f}6!LC7IKb^z;2j=v3%giiwL1iAFGtptf4)+?-jT)Iyk3;PLl*^AAgh58}hdmAr& zReV9ISp=GX^cN}8uwN&5xy<%GIR0{^IaX77*b{`{8cNjWdL8c;zHr;hB`}baj9e?w z)syru?vw-+n53+i&fi>@=Bk&OB`)DIwpC13RzIoRW(tGO$bxS#Hb!U0|A(q1t+L2LpJ5N+GhITPneW6_hib(&(9ME zdb`Gir@^K7p1t~zB(GOf-M58)Cp@j90zl29EP8vXf1LN6lZtih=kk$*l}=pNJje*l zRs76YJAD5vdShLBIp&-Xs|7tj(oCtM)7j@|n1fe?Z=Fo_Z?y=-7-}%~--6}~emK(N ziLJj?%LPa;IrntR2fWFb*bQBQB@nK_oc#_o;hN{fj81EqR(s)tgJx+k#k&v>1=rI3 z2??gMv>0=VKl_?sLnBN3%Cr#JSY?Fx}}%d zlJeq(-k4cZg#z~T;(liE2qsX8xmOMt#yJd}P-P0SD-O}5Ao#e_D45E=7Wdcw*;n2y zd#j|9J_^wHUtr`gjR$dv8S954du!#BoAMdVA>}#ZPL!_$H0ijCT|wH(65NcB^VbRF z^*%ii*D`P629>1T;ddDC#Y@;jSx=^!A*75R{za8@w2Vv_U4`nDMS5RHhKJ>{L#^Vj zY-hM!1U03<{lpXgSfr$fA6xCchp8+uzt*D6|2;3>K$aCIbDNr7dC>El4@GU6oWbJngZO;Px|2Xn7jhM zx*S|hb)I1IQ`>;;rgf=-|4GwXrI(Krbjsr8pB07dW|U;zu{4#Nh6q(cDtQKNuqQN} z2x@lXfzHp$;q274MXMz?c@D4~yQWo=~nWIeQ_@YzJ(ktlbPLknLW-TT5Zu@n_ZR{P+cl%e!`*Va4NI zJsEPgIVtbuXx`?rOolx!oKoC`>s%8XkTt5e~A zTv}=EP%2v0EFA^~QE3K;6v^w&3th&&rO}iFw0u2hc1fLd5wQuBDw4257_^~U zQVAk7#^mWVdNT$qm;2k$w1)NO1O7lmK?g39Da17ApLOtN65e^Oa@_0(bGh!gAb^!w z8lrW}+sjri)Rz5|-XR;?dA+qAMIc4D{;oBHN{|e%m6>mrlBWKsX;${ogFhNj-~rKw zJX9ovu2~KsrNUbFNat=tAM_(w54pGSTqa%O`$0KPfT0TOaI4`KDq~dIs3=C$n}A5% z_p5_M`;cSfRu~Iz5XMxCy^AOa`k6)M0PK5o4~YhQ*8We<*w!8MxicX?Hk-I@{zeTy1von z;^|<9ZI(4ug{Aa3Q1q%tQIW6+L1K&8i84i$M5Wy0n{;bzko3dR&=>H#-TY^$NpE_+ z5cw*W2bWK(wnb}hWB_D#I9)5>O(JHjh<`)Z4mpQ5tIW=-B{c0kXy@I2Ukuw+5x8S% zJNHVQYCN#3JJT)95dc z!+$+C#JsnBE^fq@y{oRWzFen(^QqG+JHuEvs2r}TIfw@{u7XBv zAh3w7SW-#>%QByEux)g5l{k6J0@k_pst5>@DzTJrZ1FDb;m*^Bm}Hv!pF-~cG-1Ooq>KKlPilylMDE7dHW`bZ`ZQs zGl0dIHi3)!a0O0rj;X^z!l=^Nm(YIpMH80aaxo<5OLZpV6);r-PvWjv$xwq)K+EfM zHeWw|p_y)wLJHwUYnD=mU)w}?rzM-?<+3l8n0e)}PrHUZero*~H3{gj@0H%Bo%q!T zo-A9Lal=+vXMC&L1G1ax*f?uMyOQ}g_8SDD$GhbqeT}GH$y%)stqw z#JHV@?gwTx1LfecAH=)Vd@&=oB+jt2|u+41KVMMtg^{eH+Zv$AsnT7XC&xz`{ z-jXcsi(+?eB1KdFjXFo7guaGTRE*HFe47BWC2{@_HSxUx>yAotJ_QvOPy0ahA zY_C`!_dFg0a6w;oJHYD40A*MgRznQM#(0DHwSrFh9^duU2HaFQPFd$bU{b}a9DG>{ zvGADsu#Dk%j6%<_yrZSbWVHAlf*~^qTxrbf$$QMv{|3)T+C3E7b*}Rivqd?Lx{PhN z?{jDfF0tKo-OOYvy;6RO^)86Vdf1RF)2d(IbO~mC#5pUvtMv_}a9+ndwAFy>H07;60T||r-wfS8@^U+#E=F8SIp?qheGe^NwSAYl3izly^}P) z^E-}78T>fEmh9|3TwVU`J2UKf2vWx$FIKk5T+>urYrVMHoxvi+7{Eoi+oS`d8|sAr zdx=ay+x5SeJ+I&Tx8n$p8fSC*1vsgAY|BN(RzP0XU4YuziO_;KL34icn+RODF?p0z zK03vE&T1$l2fDi4A_rM3c z4BnmDML+`<9Z;I7h+*A&IRwYdT!Edmu^AhTA$v%i)Et|tAvh}RZ}?qk9sDB8M7~+n z!@5w#w$GUw(FyXK=9IH6JSiks9#i2mBf4Zpi+jpEWb5acs!L6dn^G2_@GQ%7m6)vg zXzyL#YFx%-?rx>SoQBnhSZawyMl?ifb~Ju#Wvfy~b?_0V{(;wcXz=;VXXN1X2c_o? zw~!UovsLnXv;ij^U9+$XIIlR7*6Uzs!xwCV#S|NT-SfGPDT&;rSnF)3&C@M3-ApUJ z+)iSuar>mEp$6~?voS-GqRlS*)QX{C?N##+2`sP=wCPW~iEX*`;r=edOmcGC={xL@ zgf;4uez1Z<-gAq@S#Fwnpnl|T=2Lx_m^=lgO49;XhzsQN{L30O6%9tiVnI=)tL}|m z)QU;vYLEEl*keXjVN(|Q<}DmYL#y;1_4T8UTKO~Kw$8Qb8O*Z^(xVEqVi%zjABb12 zjW=pRXWC%H3SHfDuJEBsx#zR^{CHlf^MbApU|SH}*T_LxX=~^8Ww-*Is3CM-?z&ml z=Sd2_0)c^jFl<2H27BGAF(t`8mA>{Il1%v1>2Sqlwts1>-We`1$t)tL7Q2$~XqY}D zTeG7!_4d;C*zM8INQ+C@_M-}&OCO|mBBV`?`^N5JIGu&UzUW%cNm&S;yGAeREWoT| z@)puCzoKZjo+A``7f!K;V`c-qOF0$V+9B-r>|lzf0DpU;xa2$8T%z5F#=3J3`QF=G zKRmMirR`C#g7*#7)%Bx~bTlDJ zad%lQFif(X=h`ru{1~~w59c3b&UBc|7S2ml?v)&tlH9J&@ORiyP3GOp5v7{o>VOQ3 zX2RVr?bc9hhZnjcroA5RbyQoO;=UvkHZKhCM=ki)PtgqbYt!w;SQsuAkh?nZBEH%? zPgChLDPllD@N!%IhPk5)(i{op{l{Vg&sp>)^<^?*Y_|N)sKxabc}D zSoLP4hC~`-0jh|W2-J21(Mj(FSP;$B)Vw%Vri)$kG0()gFS&(w>mw10jRoQT+ol7! zi@jMLe5QR#;tBm5+b4;2>>kVv9QO}Wynb#r95#)%G$T9>IL}~u{^%Z^;oAnkb0PF( zF9JV9-Yy+7&h=)J+1FaBW4*}q*D0oA7YVstvALSpCixJJTH zC){IP&hA_ZXrgaKvTU#y>GfgK zE`gfZToI`xYlZpHd689uy)ZU_bd}HzjL}-MX5&ty1fR(xgdF70if$vG<(!*(bqSQ?WX2( z{P)|6W5CLnCN@=+;=O(Q89aV=6xaQ!1qV+zW*NLr*9O(pZ34uVb~;?O{9^~1Vdl*> z`g^pqU?qtKVV>od=YI2ZC#yHK{j;_ZNgcDjxWGqykhg~hLwm^7%zJ$+Rkhz+cKNQ> z8HM}Or;aNW^Um09Q%}4^uWzX+TF1vwA z`iQOFvUQ0(#K6S>I8N2b3We98W+lqvL0ekmYAb6Ug&$spHNr|ipv~=LqFSxQold`V zU{(u*O0T{wje=`?X0HI%GonYotpZq9eW^E@=`R*6m96nwvBt#;@@y+fFl;_Tf;ha-|oLcZ5_{a8Arkxkri> z|%CImB%(F5BRp&Lu)!gtZ%rcWBi9A_7vITne!tka7tHr0;lcX5_x4+^V+pJj|S3t+_hiANFAs)<*Vp zc7UoZ0s*$oQ#@^xp_J)HKkfGheW=n^#^gfpu#wf8jerc=0uVm^Ovx1Jn~3kJ3VI+- zIMf>2Y$Uj*V_s@4d;mnj+(Gn%{*GCz#RX4wc`wc!QuRTq?%Nx;7_ogH(^ToZ_Xw>o z5$~*%FIK&$Yx~FV=Ago`(jQVMT*@T25l>!kQJk+{X7(tFxn*YkNGG;lSV3UcGfI&% z9>$IC7?&tAe;@`o3s8&KmZ+1H^v9+)P|#IS)^o6}|HXjOD99D@e1Cr~HBq4gl40`O z0GFQTx(D(86I_r7&(gzzP$&klkeD+?7i|w5PRLW*(}X^>VKYS=a(-?U(+v`ih+JP} z(q{c6R&JXc$Kfv(w&)|%czI$b*N3bQrrhgt3J4Eh_rT{W!{d*)YLq;+|^ zgIY*+@Gb>txiTv}`H+aX+cV(dernej>UX+3VJwr?8LwoXmNOGkBd?)l3$dD{RSwv< z)^R$Xo>bfw;IRDp!Vq^|S%=dM;@xju|5{+tBiy=+>u%5Q(@Vu=_D%wyHd`_!GizWsMfNAx7Q)dj zk4jF?F4ASs2dDV%!8qeXqe|<1qmq9YAKnapVKk%cl9#&WAg&iAotcj7%7;VWT!)E$93p?+w!)t9n-kn}<_PQI(358*Xmb5hBPlu*RgqFsyh`lXi=R?J6fFlAkmX zn-(xbR<}y*oL?Op7yxO#e$oQ+9WxzdKXS|L0y1dW zlLeBC~GwM0rf>m(Z+;mEkz0w)3j<=WvX!%eR@U;@~Md zX3ocQASa9zxrnEKH`ZZ7USl|gG~IG3`W~~8gRwP>xTyQ+tBnT#UcJQk>LBnS(ghwv zYTlp1C4F^&=y6;qU>-HzMkmsB5`xixDRB735E!b|>PgB95x23wa&wqv8ditw7YF$7 zSbgPES?>D|Q_>u~bSxY&)MkOUE^NM77(fGQ)MD~ky$!-%=Ut))PmZyuAq&KD* zawY|R?h)>`UM10UKim({aa?&nEd}6l(U=IgRx?oLT3?9SA18%>!~*BgMeTiA)S27j zz$X}9gjWzaeH>)p+(}{Cya;6NN&6mxy2NcEVR1qZ9;$gA#p+kO+BIxP-HH@qmx48A zrEc6xLwvwz`+Qn~;-Iw>AQkD4GYqzW-NP&`Oyq>$F}d=+FfYX#pqMmbgr{KHQs7{r~`7V>6+kq!yO8xq}B-e06Dk*3=wo@ z-Huu94yx2p{~*RB#VomdLw~anaM>JUL;)7w6gq`cqs^NX(Sl zDQY&qB3r4FD~&z5gVU)D>hC*?>NU(;Z40QHPw>y({=OMAb0s~+`$-_aa(xlidznus z_rjZC(;W)wwBEO>V8c2DVNjxT{5j*L3JDK3DBW6@XM8rVXQT^-MUcWwht0Krt}TA* zE&n8yT;F(D!U^k)hPQ9^6>rmNnambO!OXo>G2EqS176ZpY=}S^pa7~nn6OL zj{ic5lcAjRcT?=i2dzh5zH*QdeAT#mirUPJ^%p*~xQzu#-@z^`2y(D+uaMP@H`py1 zRqJ{bIK1E#OhcJPS7Wx_w}vR*_9YMUrfxi3|EY`ab;2z{lZ|7P_5Ii7_vd@xKzJQb zf^dBiUdkIR91{9JGV3S$H&|FK7X0##HQ-K~9jRMf#E-y=+g_yD<#^H-61^y1smTTv zjsMtnF4mOSm{MJB)1?fgEK0q7{OBFl3&_`5#qOXDbW6mcx*Xzweayv1&uy${&zo-Dk%$?}&4@ldj)a+6-x!)8TlaHiNj@8R*&k2Zi#$vr zn&=icKi1|opU^H9BL>HV>H(z@K}2TDTMj6aXht7hZ~{MAF*`~YEVa3s=ruyASoleo z4PLWHw~56-VyG^6FC^|F9ipXf8XHw!Y%c|hEB1P|Ngx9EP4gjRyf^gC4g;;12iS^F zYUCpo{m0I`-Ayo_@$9L{!fOd2Hbc&*_vTq+dGs*-Fy2e>WV||Rc#f%Yk+tbL7}u@u zP+5=i-c*kV+vuDBsKT!W=dGyCi&nb;b&H6e1hm73O%o9mFR$VtnvvJ^oUVl82^z!~ zAkpTOTv22rdbzykjBJ?fmDRs<($sbew)AqKAMv^eHKz$EX8Yi}7R`evuNPk|-_n0s zu67bXNfnO%jiIg!{c55f zANVz=UcD$#(rYP=(aF#(Hs*73OPALxeteGtd|od#t@oqT3B0Y?r_N{K^lA6f%K+&n zpn>#)kF|#)uC+ux)d+>!r@Qh61~mick9C05?&qiZ;usBqmQCaf6p_G6)MRh)_SLbz z`eFVrL+_9Up53?fM4T|1ejiOv2;Y#7QF=nvku1@h;M1+c`YOZAuL&ym!bH32CtcYt zW1DDiY`b8>I7ToX65~uv5OdEWJ(>{}v1!u0%Qp$KLA4wN`8IuR-0HJf!l6*wVf?b^ zw{RgJFBrg25B6&z_ng(X`_LjFI4Uw?O^@GOQ4PAZS30K&ZOWbFs)vP z1PZS6O)7FOoUYf1AEhYhAvY7ObqR|oa;Fxr(svfX+f|B9p^}szDIV#sPsJ524DEtZ zF+?Ckd&G0#sOQk&Nw4D3;p^X)TSs)R6{g-QS!jLX-r|^x6-UB1a&o5axY4nt^|tu> zJPq(sAo_k=ZVZ@I!K8G5-#N6wE5>ItC}zx}NErUC7%>0TXI+$?vj1vb7#TdEG=_=v zU>5&2PN`5&0ba6VHNG&G>;d0ozsM*5dEo1-(Y0#UW>~S#Zs5 z41%p2q(+wI146I~Okc?YQNP(c2~CR?g);v6DT_pKvL{ZU#x{c?4G{GpaX@`RU0Q%M zYyY=_ctsP=o>&{%Mv+#&vV%rzh7s7A_`VsJI);t7PA+Z}FI=g5<2i~#&|-!sK{1DF zcD7iwO-qNpAJnD@)mVJhxL=-twOGdQD}-_N-m=KWc7l+@n6VRixEvN4BPdIL;J%RUcO2_CQ1xK}3zFfG>EOhxQ z8469_zuTkW;=Z9cLlPL{4F&EcZfoT9`rO3MgX$N9XZ{RPFmIDe;MOE_wwF3CI`6xd5fd94Ov6&4l~X4NM)+-zZbt06IOGS zxADm*uhq58rcKxhzCwDXO31CeZG}x<#lr>rwBTm)PePJ5R{EYT$??sfc2z&}VNLzj zvV$(wY?%asDZ2F6bm}a-t+ksDh_%Z-8*HB(mRhJKTv?}pA=Hb@8 z&D4IaZXesk`V{DSYD&&|`YrzEd^Wrzjr=SxZdRDH2upv{cnOpc3i=|pdqeqKnwRdv zc&rREPQl-P-gi-9|6b2Pomg)X)|1Z%%qFrqQCW^qnq`UtJDopc6SC|;XCnkQ$CW=U+On_q45Hs;-Yyg?vw$%RYv*wbntLZ=~Yr_Z?^)cal!VX|TNx z+04*tOYOE!_#U$Is9{@Uxeudjq$i)^s)nt7h@9AdKE<;t;*9mXIt!2ULz|ELFVEH_ zMy@Nx4ZLY{<`~xkbD$C8fc#8Msa10DiLev$b0@R6KQ%Vb1d*gn!&c3z+g84PiuxP| z;BbHs$7e|VyHF7ENJJaK)i+f&!|%!3G0EXQ9^Y&|euJ^vxriK`JG{xz){+;prhRd= zqJKDH6G%ap0GJuL9an!#Q0~MAo;X4L{DfHmnc(ld{G%4xX70iUn?@8Mcs0hB@_nLW zGSV>t-$|=!S6b|vAZwqLJ^Gs<#&RfXQvqy>8H!0+|Mp^89z}aHc6a+$Hd2>ub<1Zm zNx9!y2k2Iq+FbQ;K^>$>+Okv3NfcK zw{Ie*>&L2UbyKnY@|KxUY)m7ZQm+Hj0FbiJSfp9M>f!-8tzmO}AGX?~n{R=Zt>?-P zSAlKSFr!#_&u~r{jc`c1EQ4?=!NQC5W>GNsnt$C$!;3N z>>*L7I$69L2LI71UUIT6#&wSz+)ZlBrL0uD$Hn$tx>$TYHellUqh!x|)F!aya&g(u zd7UrgR)rQ87*KegwOsdFTFkJnD2Tmv@B($eAoZ&1;Q*?m14zqKNV2_Aw*fw5cAll6 zzCiHd{;oA7(D7!3NI^^5OpDvM8|^g8*wCXsj;S~GG=<5{{mP&iT{d$RwWt6`DQLV0 zHJjd+kQLT<&D^5sPd5S>9y&}P4g2`H(}i}z*Jq)oU43eqE0){RuR(g7v2HmHk`5ZV zDOjIzI!NQD+Brf7>4fK7xF+b9?O1ss8uuT~hbR}_D8xoF(^;`3*wm23gby|vBXB(- zoQ4(Px>V|9401t>5^eVMDauJ%SWlMxlorZN9y?JMDHoJBL088_G`%uocDDh;TMQJO zRWNy9g_?a~BxqQSTp<*C1H>Y*m+e;REY+~vpxeTO4U|@~iOsVX&bc@$atJ(dj%;>CG>v^ zFtEv(-?GATt*#g`-ptWC_w%8~fhSb5Q0v!5SW)^J&Le11-Fai`m~@8H_5*_SuF zt3~3QF)1{Qa|QbQ0Y(1Umx|m4fWK-&Je@C=AyVc!zNZsLN7+pUZexgv3Wb+I-KjaU zqB4H{iabDK#Nz~PAuP%5C=Lv5EoOt3q!#cG_4|~d(PJ3@=$7u=zbTPk!~6P}n;)ocPyMj<`maDXG`&%NA$W>OTx`}Y zMF8K%bUmUXW}>FfwZXixv(U5=0lqx=w37m(&})@qA_qrtJWXJJFVIRb*7X#dX~#A_ z>naJul&MMKEsgpvfimO%NB7tJH+W*DD!KMQd9s!nXD>p%h=9G#FEjkznuqiA%Lq`z z(d+x7W6m`#`8CdagL`y29QU7b^F0<ir+=-*V3~c6<6P#iGD9pp?8g4dO+fAR+%CrbxHsl3*RWw7J|({- zVgEU7?MQEY;Yymp$!%rb$JEg6AmDhcvJ#``(uw1Te9FZ2Qx{R-L+8 zY3O>l+96w9DD*X)b(}z%q!#0J)vTM?pJC1x>o595;gYvFGas|j1nx)8&h=iyDso^9 zfNSV!bX)6q<)t6Ha``7dWttdfb%)y8@zhqM!&}p!iP{MFXD4@h+$TetR;Q=x@Z-+T z^WU)jTx#o?!$+I;xhiL>UMhUVwx`hdZpZDQ5?~p^UJ=$5lQyTbEx4;a3wwExDch-j zqm&W_`3RSJI!(oe%};thR}ZyUKy1{Cq0p$dc>t=leAEpl?Bv#U6J_XJZ=Q5%WyOFB zT||Q8gLf5m?<5QQK%0N|+9zLzFq(aQd4`Nz2lmaK`CukZe%}|nboU=DP~cBQ+C37} z2~w+Tg+ZY8Oelwhcj*ss3lys{UIYaxu3 z;Oy6Wo5~F2gZK}@k|j)K=5485sde|ML*@|`N@*LbAK(XN*rHHqfNhO8)M}x{1l^Y` z@$*Vm4@l%bL#&YB+CEQ{iq&38xsYGW@i{@Oi-7*5E5kjmNX^|$15Zd(L;JHbXWsdV zIV}3ApHx;>jIOw^4R$Y`t~YeO{&>U)#n@(G@ilkbbToz6$(SxMa`eKWgb5~-J`b{Q ztZq6x&>t7h_C|`?Xt-3K4B{L3dc!X4UAg*^ZhSt87ykLfKBIB;z006%6E{v;{cti2jtd*ZGTYa?U~AYqCGUi4X`x^*s_S&VK^5tPY_rH; zjcvn5Kmj~KShgtFY4(K^_#587Ir0^VRqe5E*Y#6%9Z$=X@L6Wq*Ll4xC+RN#W7ldy z>eG>9u80oe-qZUMLkZ|EZ6I?2RBO-E8XHaKOgI}hHZ;ky(Ab|X@WP#DPea7~Ooh_x z#|V(!Hs~HM<-Q8h)+>$$Ru8edQ9-BAX?Iy0jSI19yTx-N&G^1S^(o-slw#qU=@~1& zJV;XqRR{u^7%H8emSWa|O)yaKaTk}GBL2N17F;A2Dd>sZTF%5GfHn8m2_BE=Ott6p zmHAZMw0`B9=V)a=>es*(Al42A#nxOpSaa74DK>wKt$KVc*nciI?2}YiqGcbzTW@~h z%7Da$2WW*g$~K3{g9LrA!c$k57SBn$7xzl}D@*#2q1VM<;8RJ)hU zj71H>(!CeG_+vlkM3^{vzFADUeVfg9JlW6pj&%!n!76n@v4omo(WR%vL=aZ1&$DEs zXc$@!O91XV-fI8O7^6g1(p9!3jw2H6YrpjmrwD<5HK4x~(d@^*0%G&?d`ahV+#ue= z?xcd5Q(w$*_p3sZ%h3BR5wJ9GWYBduo>q2TToZuTRRWlZ$qCouc#Tc*Dr&z zGP(Wvl^*fNtdjYHU!2|Y@;n!+$L4CDnYs>46|(t|bSrU5-W$1xpcajIe@uFC9^z?o zbK-6)?8VuNi^MCp(ttyGVBHB;9?~cZ^GAK4MI(!axWzav7h^hvNqK5yd}qA)r7X)M zPS&fQ)}wFA8b`qa=~YsKyN-sq#l1gart3*WO$t7#hi~-7T=Tbvt-2pAexV%<1=#T{ zRX%cF)7C#$=wDh&1ctY=zN327{1aRBe&#{w!ri~^^P}p0h7U`Uo7RorLO7M1Oy9yU zkjF#6nyz$W>c`MZdtTM62A8aITfV{TDjGE)uS<00ev6fwq4oT`#Mn>(M*YMsbMIbw zX0=%NTpu_Rr1!qEL9)poRvq~H^)0Xj*xbS-U^K4zmh7^8W}Q;jg_&Bwto7{Tf{?#R7K|oQFe#;A6@lH%Ept0Kqm!ue@4^kPXE30Nee({N^42@J@Gf8TdPgBrK z&c<}-dhe)=pJLziSTYymmJ~K+x*=K~cFU-WDzNka}cLy7kN|n`fFo@}v_K z1Bv$D+{?|+RMf79C5@qWPv%<*8wx0nz3&vwjM?x^DYVSHupkIZMET1)e&0%(eYak& z#@o#pcr{rw(-?&f4VTr%@>aOI6wsLl%;fuf9?)!v^oieTFg9#+_<5!}zx^ZawVt28 z3iB{~o&Ed4?Pwk3SVb7X&ovucG{#mhHiEV`smgw(!>lOf6~JM&tDqumGX5lqA5y4y zcr>(7rGsoN$uZ~>Kh;;q53l(AiW%nm^1C4j9&dkMTH2AZtkbY}DNyNSSh`qn>8R)+ zbhWDFf27N2GPR)7a2N%ZW>s${z{2AeiKeLvY+SWYw&A&ptwUcX|M2pO?YNs`Tvpj9#Bm!UH`B&QBhEk zUR8=xrK)rgXEh%TwAL>tYU zBgeiuyva?-F=n&q^&-F`M`Ai}KP6<>A67NWFf-NGFdgLXZ!nFL(ugyTcljf9U}4HA zC63&7COIy^Yd$B=yviEeVg2G65b;?d9fl+ZvAG8>$Iu>+Ct44^KEi8Kt|GmBW zX}ZOYv$02|23Yn}n%8dpPPS^S@nkEcgjSWSO87WG_&QnWDbqMxr4|1C*j8X#?KG@` z%OfLonT0px1d{IqAE@r6OS12KjtlxT*!HK)0ylm1$j?Q~?kx5+3xYnX&OjmO_ddK2 zxT#CUDenPduob=7M-OG|yJeJZu$-P{xPIgD>H`mAaGsFd#`0QZllsx%8btj$F^f?X zEz=+qN85k)E#RAXTd!l2eX^=_Adz(&ZWqiwk)`uL-a7a?ujzL9-S*f%!@YJa|D6)5)E+CiU<(k;IAkx$l}GIEAJ+HnwAkG z4z9fDja;Ciy7#n;InR6!Yb}uH_O3MLTGy=XH%myB)@4iY@*Q){DRK|FRF0MX?z#G> zSCisUITL|zUw8ij^W~c^8&0^_*<$ubw#aVO&>BImU*MKnDl;*l{n`P9F!>#_G*2D& z(>u#p0veVIDkxy48N1@hisjwPw~v!1d~)KsKK0&C-hfF!x;C1*Ez4pnX};Aa?jk(F zhP{pTxQfM0;OI!OFMB@_H${As{N&BKsOA z<4ecWZ$WWV29}Y*4K12Zd>N~!yEC~LZOjJ8j$MGH`R87qpuCY(uG3Aoo{%5GCm^JH z4C3@~s#OrEd;QfYnWPU##=s_|J+7bOk#Em)N-*$Vxo}mj$p*JNm1?3@m^BDvz4)D3 z1Z;h|{Lt=gR`9i-y(`ty$!G^d^ZOsrQ-jE`+=S~m^b}85YeNG87ir*tN@p+o(E|!u zeN9S@FYaG3pK_I03|CTq!m#n$=PQ3su^4G*BU^e|FpTL%v;7NzXR6&omC~~7MLJ?J z$~#II{yqz!Q@}!sb;22kn|50=Us}b>^yd-nF^>*8G^rngH69preN2UX)Dq-i+&fmA zHACyZe;7gch`fta=#O;0;%namTR2anP9vGV@cXbaH#{ew zvSxmtS$#_f_H#)x_PBH2q+mFxa*SssZiR9{6nt~vSg01>_!{C(Ayc>xa^PlN)QByr zr6JLreK$fn{xR~ST#8lcOX;4Qz$$mhR!n8e?aG0>tg9+Px9TA0V`+lN0)=)mSsNrX zkZ4c{y<_wMlxUw+R=$+E{)sy*+}pgcQ&jpY?bK_*h0=uTL!U))1NaYRx(z-n(QL=} zvm8gR#Z~`!rzdgSCE_#B@46OvdRf>DFeSQ;)bACesf5jf%_U&HBO_XJPWywcPFIaoXzk z1T}%Jr(S@rSS`DvD$x)5eg*BoM)OZR=E0yS@Y=Oxu%%{vs7Ex%=cDA=`bN!tsdhwn zq=4&@gvH3aL9>zHg+}w2PFZ>J&jt!f7dn3*$I91Z?J`RPS8H(~_0{wz9I6VECOQUJ zTubuKQJw^|vBj%hqFImjwT;~KV%*i_px_X7*neYU!QbV8SH*lUimd-t4){LfG*O$S z|4yUoi75X36#(>f*fbYWtTKTn_X*y=5T$Ym;dqRgScH6Qib{awS!ul8CVWn~SDK`l z{b@t*quoBC7(_eGfD7y^s4VwddewXM{ef|E>nRYd5-H-$;8(x%vi=qNwKK6&rz)$tF1wzN>6( zY>+&pei8Cd2)snnZn%$wEq`A+TjeVUym5b<5)K9RzXcu!xgQbaEA``R;H(LF;p9l; z_cM5aCAK3eGsr|-SbR-*eRB?Yf$%${v0 z(Y{qG`{0K{c*Lb@Pu*JMfcI~eHwyy+3CZ@Y79mzxa-@)#E?RfK%JN6|Di6w!6qvt8 z6-bC?d;oqc^|x4liV%hl!nv@rYoRPYxi(#3v!Qk0Et|ixUq{Y6?)crlQemlIZJx5z z^2-rNHKmMQ9Atz}I!1|Z%UjbT3mb&afqi*JPeA3vDY>M-nQxUFnNF^%e|?%@R==;# z`9;E>WAR<*G|*RMwdo0V%r6@+O|o4xGScQxvO@(U2|=ZSLMj>34X7pTUQ^+dRNyD` zbcwy4l8w5TJ;aC86H$rh--lWYe0I`KSzK?XE(8^O7QV&C#{?&v z9j<%HA~!J-HU+#M=AatTZW)y1cxZ=e0hbnsgN>A4cWCT;=1}ltk2hOiqaJ8GQuVW! z1s$D?VqpVfhE8AUIR+g*$_f3as5%AJ*toU+z6jrV`HM+7bVwCt^`WSMr-(#XN`7`2LIpGyeMPbyuTtQjNYcGtpPrg;MbDYd3f_=Gt5RbI_n&bJyEz#hR0e`(W2OZ48(?}VvlLWO~R*OzTDSj+147yFF zTeJIQ2d15cF{Q^u?1`z`@VvwN++;L})jQr$Ekf`4}>% zX!`tXk06=X1rmq$2QH^cc)9E#wHtFPIZP-(Nst~&>z^-ofOdPqN+yWr z*!^$|cI9~MENL~R%ws`0zzBt(1!dA)lGJt_=e=R9^!pZ5{rwO`4|6iU@q62=K%sz| zUd{t1RvWB*dkxMg*~oG5sYJ^8 z@~;V#(mTHu(#W5FD7@O7Rqv;^gdXm#eK#%qbI3^bJ-1 zl%GUSx(!ae4pD8$%=22f)Y*QAVRk3?-%e%%UHN!#^oIPL>1zr!UrIx#cRHQ<7mDzl zv`1j>GA9hh^uCM8(kszH3aNjpP%0u_zWs|Rerd`BjLeCBJ!i^-vJA@f1selXbKea) zUH#YYG!Ymf(aVM67x*-a?E2GVk7d1zMJ_tdhS}|ltpDK=lM5qAa1PhyUI?bXP}y8B zS4!&JebMHBCFL1#E}1YoP^e=g1{r6zK9?nM1=&;E77{}{w5^30h$2wrUk zo;GZl@ATHpZ1k3sb?LWmT~(LsnWJjN3gm-UlIIQig`YEg;umn*@Irk)G#-ynRmnip zb0qdY6W=JR16bzpiy7P zBXhX5{~7asS9Yh{z4g;l&2M=<44-U7>IMe6Zs@{T`@0)Z!K=M!3yPKUzSv`#sLVIm z=TA&e?Z0XBADB>ZpGQ>jDm^&=>%x`6LVFF!vp3PRkyz{vt-455rt(VB?7ZM?wP?6@ zC+~X|f$oAtV`BpmuniAMk21=JW$fBq{>Td)lLIAsn+gyM66E_5nJ0Lao<0I%tb0LY z<3lH2;hsTuV8%CVStUldI;xDx?i2>72CJZg3Z3;)oO?2AQ4MOMS25QY?)hk_J4LjG zg6B4&X2s+hHJ)O@&s|xbhl_>0mI6<

o@CSLES3N%w-fmO|yPkK8EQz+d1~KX;QO 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

_JnR9qV@5899#=giGR&0^(kh1Z6>B-FmvG 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­Z6}c&vj%A7$p=&tS6?#+SYobt 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 literal 0 HcmV?d00001 From b51f5c03f2c6100b373fece811af9954e90075ec Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Wed, 3 Dec 2025 22:32:53 +0100 Subject: [PATCH 05/17] Fix reamde --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 84262ab..3e832d6 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ A modern chess application built with React, Next.js, and TypeScript. Features a ## Screenshots

- +
From 4be8cccff56e182e69074409acb290ce9072f868 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Wed, 3 Dec 2025 22:43:07 +0100 Subject: [PATCH 06/17] Update readme with more instructions --- README.md | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3e832d6..4d0bed5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Michess -A modern chess application built with React, Next.js, and TypeScript. Features a interactive chessboard with move validation and game state management. +A modern chess application built with React, Vite, and TypeScript. Features a interactive chessboard with move validation and game state management. ## Screenshots @@ -12,19 +12,44 @@ A modern chess application built with React, Next.js, and TypeScript. Features a ## Development setup -1. Install dependencies: +Install dependencies: + +```bash +pnpm install +``` + +### Frontend + +1. Start the development server: ```bash - pnpm install + pnpm nx serve web-chess ``` -2. Start the development server: +2. Open your browser and navigate to `http://localhost:4200` + +### Backend + +1. Setup docker ```bash - pnpm nx serve web-chess + brew install docker docker-compose colima + colima start ``` -3. Open your browser and navigate to `http://localhost:4200` +2. Setup your `apps/node-chess/.env.local` based on the example file `apps/node-chess/.env.example`. + +3. Start databases + + `pnpm start:db` + +4. Run migrations + + `pnpm migration:run` + +5. Start backend service + + `pnpm start:node` ## Project Structure From 247933011137b4b06ec4bcbe1aef13e939976ad4 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Thu, 4 Dec 2025 08:49:45 +0100 Subject: [PATCH 07/17] Update readme --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4d0bed5..7a1f9c3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Michess -A modern chess application built with React, Vite, and TypeScript. Features a interactive chessboard with move validation and game state management. +A modern chess gameplay platform built with React, Vite, and TypeScript. Features matchmaking, game lobby, bot opponents, player game history, chess rating, anonymous games (without account), oauth and email login. ## Screenshots @@ -53,11 +53,48 @@ pnpm install ## Project Structure -This is an Nx monorepo with the following key libraries: +This is an Nx monorepo with a clean separation between frontend, backend, and shared libraries. -- `core-game` - Chess game logic and move generation -- `react-chessboard` - React chessboard UI components -- `web-chess` - Main Next.js application +### Applications + +- **`apps/web-chess`** - Main web application + - Vite + - React + - Tanstack Router/Query + - Radix-UI +- **`apps/node-chess`** - Main backend application + - NodeJS + - Hono + - Socket.IO + - PostgreSQL with Drizzle ORM + - Redis + - BullMQ + +### Core Libraries + +- **`libs/core-board`** - Board representation and move generation +- **`libs/core-game`** - Chess game logic and validation +- **`libs/core-rating`** - Glicko 2 rating system for player rankings + +### UI Libraries + +- **`libs/react-chessboard`** - Interactive chessboard React component + - Drag-and-drop piece movement + - Controlled and uncontrolled usage. + - Move highlighting + - Promotion dialog +- **`libs/react-dnd`** - Reusable React drag-and-drop utilities + +### Backend Libraries + +- **`libs/api-*`** - Main APIs that orchestrates and interacts with all parts of the application. +- **`libs/infra-*`** - Repositories and services that interact with data sources. +- **`libs/be-*`** - Backend specific generic library + +### Other + +- **`libs/api-schema`** - Validation logic for backend APIs, but also contains the DTOs used on FE- +- **`libs/common-*`** - Any common logic. ## Development @@ -81,5 +118,5 @@ pnpm nx build web-chess ### Type Checking ```bash -pnpm run typecheck +pnpm typecheck ``` From 43390335a307b69e723fd5538d9eb5ab51f2cf93 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Thu, 4 Dec 2025 11:45:00 +0100 Subject: [PATCH 08/17] Update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7a1f9c3..d58a62d 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ A modern chess gameplay platform built with React, Vite, and TypeScript. Feature ## Screenshots
- - + +
From a4b71bac96ab3e72721d9bd5252d033ab4ac4b21 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Thu, 4 Dec 2025 11:50:32 +0100 Subject: [PATCH 09/17] Update image styles --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d58a62d..f44f419 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,9 @@ A modern chess gameplay platform built with React, Vite, and TypeScript. Feature ## Screenshots -
- +
+ +

From 560e37ccc8573ef9de174a8b0e3a72624d0fed25 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Thu, 4 Dec 2025 11:59:56 +0100 Subject: [PATCH 10/17] Add perft to readme --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index f44f419..bacf5b9 100644 --- a/README.md +++ b/README.md @@ -121,3 +121,11 @@ pnpm nx build web-chess ```bash pnpm typecheck ``` + +### Scripts + +#### Performance test of chess move generation + +```bash +pnpm perft +``` From c6e2dec831b264fb5b1bf72e72abbb9005405ccb Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Thu, 4 Dec 2025 12:12:02 +0100 Subject: [PATCH 11/17] Add WelcomePage tests --- .../app/pages/__tests__/WelcomePage.spec.tsx | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 apps/web-chess/src/app/pages/__tests__/WelcomePage.spec.tsx diff --git a/apps/web-chess/src/app/pages/__tests__/WelcomePage.spec.tsx b/apps/web-chess/src/app/pages/__tests__/WelcomePage.spec.tsx new file mode 100644 index 0000000..b22ca42 --- /dev/null +++ b/apps/web-chess/src/app/pages/__tests__/WelcomePage.spec.tsx @@ -0,0 +1,45 @@ +import { render, screen } from '../../../test/utils/custom-testing-library'; +import { WelcomePage } from '../WelcomePage'; + +describe('WelcomePage', () => { + it('should render welcome message with user name', async () => { + render(); + + expect( + await screen.findByText('Welcome to Chessmonky Test User!'), + ).toBeInTheDocument(); + expect( + screen.getByText('Complete the steps below or skip for now'), + ).toBeInTheDocument(); + expect(screen.getByText('Start playing')).toBeInTheDocument(); + }); + + it('should render username form when type is social', async () => { + render(); + + expect( + await screen.findByText('Welcome to Chessmonky Test User!'), + ).toBeInTheDocument(); + expect(screen.getByLabelText('Username')).toBeInTheDocument(); + expect(screen.getByRole('button', { name: /submit/i })).toBeInTheDocument(); + }); + + it('should render email verification message when type is email', async () => { + render(); + + expect( + await screen.findByText('Welcome to Chessmonky Test User!'), + ).toBeInTheDocument(); + expect( + screen.getByText(/We sent a verification link/i), + ).toBeInTheDocument(); + }); + + it('should render start playing link', async () => { + render(); + + const startLink = await screen.findByText('Start playing'); + expect(startLink).toBeInTheDocument(); + expect(startLink.closest('a')).toHaveAttribute('href', '/'); + }); +}); From 5ec59eebd486e9e359a8ea36ae837e3056f7d8ff Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Tue, 9 Dec 2025 21:55:44 +0100 Subject: [PATCH 12/17] Fix wrong default tab on my games overview --- .../features/player-games-overview/PlayerGamesOverview.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/web-chess/src/app/features/player-games-overview/PlayerGamesOverview.tsx b/apps/web-chess/src/app/features/player-games-overview/PlayerGamesOverview.tsx index a0459f6..bb0639f 100644 --- a/apps/web-chess/src/app/features/player-games-overview/PlayerGamesOverview.tsx +++ b/apps/web-chess/src/app/features/player-games-overview/PlayerGamesOverview.tsx @@ -40,12 +40,14 @@ export const PlayerGamesOverview: React.FC = ({ onJoinGame }) => { ongoingGamesPage?.items.length === 0 && !ongoingQueryError; + const defaultTab = isNoOngoingGames ? 'completed' : 'ongoing'; + // Check if there are any ongoing games where it's the player's turn const hasPlayerTurnGames = ongoingGamesPage?.items.some((game) => game.turn === game.ownSide) ?? false; return ( - + My Games From d2aeeaae1b6d1dd057997c0a20007ce8041a9fee Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Tue, 9 Dec 2025 22:16:41 +0100 Subject: [PATCH 13/17] Make Opponent type selector gray --- .../src/app/features/play/components/OpponentTypeSelector.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/web-chess/src/app/features/play/components/OpponentTypeSelector.tsx b/apps/web-chess/src/app/features/play/components/OpponentTypeSelector.tsx index 4e77fc4..96781d4 100644 --- a/apps/web-chess/src/app/features/play/components/OpponentTypeSelector.tsx +++ b/apps/web-chess/src/app/features/play/components/OpponentTypeSelector.tsx @@ -19,6 +19,7 @@ export const OpponentTypeSelector = ({ value = 'random', onChange }: Props) => { onValueChange={(val) => onChange?.(val as OpponentType)} columns="2" gap="2" + color={'gray'} > From d5e26838d8c16e975dd47a7a9e7872e6c6760777 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Mon, 15 Dec 2025 12:08:45 +0100 Subject: [PATCH 14/17] Update pino --- package.json | 7 ++++--- pnpm-lock.yaml | 38 +++++++++++++++++--------------------- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 507aa5e..4704949 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,6 @@ "bullmq": "^5.63.0", "core-js": "^3.46.0", "dotenv": "^17.2.3", - "dotenv-cli": "^10.0.0", "drizzle-orm": "^0.44.7", "hono": "^4.10.5", "hono-pino": "^0.10.3", @@ -60,7 +59,7 @@ "ky": "^1.14.0", "lucide-react": "^0.553.0", "nodemailer": "^7.0.10", - "pino": "^9.13.1", + "pino": "^10.1.0", "postgres": "^3.4.7", "react": "19.2.0", "react-dom": "19.2.0", @@ -105,6 +104,7 @@ "babel-jest": "30.2.0", "commander": "^14.0.0", "cross-fetch": "^4.1.0", + "dotenv-cli": "^10.0.0", "drizzle-kit": "^0.31.5", "esbuild": "^0.19.2", "eslint": "9.37.0", @@ -136,5 +136,6 @@ "typescript-plugin-css-modules": "^5.2.0", "vite": "^7.0.0", "vitest": "^4.0.15" - } + }, + "packageManager": "pnpm@10.25.0+sha512.5e82639027af37cf832061bcc6d639c219634488e0f2baebe785028a793de7b525ffcd3f7ff574f5e9860654e098fe852ba8ac5dd5cefe1767d23a020a92f501" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 80b37bb..de320d6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -63,9 +63,6 @@ importers: dotenv: specifier: ^17.2.3 version: 17.2.3 - dotenv-cli: - specifier: ^10.0.0 - version: 10.0.0 drizzle-orm: specifier: ^0.44.7 version: 0.44.7(@opentelemetry/api@1.9.0)(@types/pg@8.15.6)(kysely@0.28.5)(postgres@3.4.7) @@ -74,7 +71,7 @@ importers: version: 4.10.5 hono-pino: specifier: ^0.10.3 - version: 0.10.3(hono@4.10.5)(pino@9.13.1) + version: 0.10.3(hono@4.10.5)(pino@10.1.0) ioredis: specifier: ^5.8.1 version: 5.8.1 @@ -88,8 +85,8 @@ importers: specifier: ^7.0.10 version: 7.0.10 pino: - specifier: ^9.13.1 - version: 9.13.1 + specifier: ^10.1.0 + version: 10.1.0 postgres: specifier: ^3.4.7 version: 3.4.7 @@ -217,6 +214,9 @@ importers: cross-fetch: specifier: ^4.1.0 version: 4.1.0(encoding@0.1.13) + dotenv-cli: + specifier: ^10.0.0 + version: 10.0.0 drizzle-kit: specifier: ^0.31.5 version: 0.31.5 @@ -2852,6 +2852,9 @@ packages: peerDependencies: typescript: ^3 || ^4 || ^5 + '@pinojs/redact@0.4.0': + resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -4327,28 +4330,24 @@ packages: engines: {node: '>=10'} cpu: [arm64] os: [linux] - libc: [glibc] '@swc/core-linux-arm64-musl@1.5.29': resolution: {integrity: sha512-TERh2OICAJz+SdDIK9+0GyTUwF6r4xDlFmpoiHKHrrD/Hh3u+6Zue0d7jQ/he/i80GDn4tJQkHlZys+RZL5UZg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - libc: [musl] '@swc/core-linux-x64-gnu@1.5.29': resolution: {integrity: sha512-WMDPqU7Ji9dJpA+Llek2p9t7pcy7Bob8ggPUvgsIlv3R/eesF9DIzSbrgl6j3EAEPB9LFdSafsgf6kT/qnvqFg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [glibc] '@swc/core-linux-x64-musl@1.5.29': resolution: {integrity: sha512-DO14glwpdKY4POSN0201OnGg1+ziaSVr6/RFzuSLggshwXeeyVORiHv3baj7NENhJhWhUy3NZlDsXLnRFkmhHQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [musl] '@swc/core-win32-arm64-msvc@1.5.29': resolution: {integrity: sha512-V3Y1+a1zG1zpYXUMqPIHEMEOd+rHoVnIpO/KTyFwAmKVu8v+/xPEVx/AGoYE67x4vDAAvPQrKI3Aokilqa5yVg==} @@ -7980,8 +7979,8 @@ packages: pino-std-serializers@7.0.0: resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@9.13.1: - resolution: {integrity: sha512-Szuj+ViDTjKPQYiKumGmEn3frdl+ZPSdosHyt9SnUevFosOkMY2b7ipxlEctNKPmMD/VibeBI+ZcZCJK+4DPuw==} + pino@10.1.0: + resolution: {integrity: sha512-0zZC2ygfdqvqK8zJIr1e+wT1T/L+LF6qvqvbzEQ6tiMAoTqEVK9a1K3YRu8HEUvGEvNqZyPJTtb2sNIoTkB83w==} hasBin: true pirates@4.0.7: @@ -8850,9 +8849,6 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - slow-redact@0.3.2: - resolution: {integrity: sha512-MseHyi2+E/hBRqdOi5COy6wZ7j7DxXRz9NkseavNYSvvWC06D8a5cidVZX3tcG5eCW3NIyVU4zT63hw0Q486jw==} - snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} @@ -13287,6 +13283,8 @@ snapshots: esquery: 1.6.0 typescript: 5.9.3 + '@pinojs/redact@0.4.0': {} + '@pkgjs/parseargs@0.11.0': optional: true @@ -17503,11 +17501,11 @@ snapshots: dependencies: parse-passwd: 1.0.0 - hono-pino@0.10.3(hono@4.10.5)(pino@9.13.1): + hono-pino@0.10.3(hono@4.10.5)(pino@10.1.0): dependencies: defu: 6.1.4 hono: 4.10.5 - pino: 9.13.1 + pino: 10.1.0 hono@4.10.5: {} @@ -19162,8 +19160,9 @@ snapshots: pino-std-serializers@7.0.0: {} - pino@9.13.1: + pino@10.1.0: dependencies: + '@pinojs/redact': 0.4.0 atomic-sleep: 1.0.0 on-exit-leak-free: 2.1.2 pino-abstract-transport: 2.0.0 @@ -19172,7 +19171,6 @@ snapshots: quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.5.0 - slow-redact: 0.3.2 sonic-boom: 4.2.0 thread-stream: 3.1.0 @@ -20109,8 +20107,6 @@ snapshots: slash@3.0.0: {} - slow-redact@0.3.2: {} - snake-case@3.0.4: dependencies: dot-case: 3.0.4 From 5b2b239523f46d727045a73dec168344e4ec23f3 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Mon, 15 Dec 2025 12:10:32 +0100 Subject: [PATCH 15/17] Update dotenv cli lib --- package.json | 2 +- pnpm-lock.yaml | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 4704949..eacdabc 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "babel-jest": "30.2.0", "commander": "^14.0.0", "cross-fetch": "^4.1.0", - "dotenv-cli": "^10.0.0", + "dotenv-cli": "^11.0.0", "drizzle-kit": "^0.31.5", "esbuild": "^0.19.2", "eslint": "9.37.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de320d6..c5f2657 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -215,8 +215,8 @@ importers: specifier: ^4.1.0 version: 4.1.0(encoding@0.1.13) dotenv-cli: - specifier: ^10.0.0 - version: 10.0.0 + specifier: ^11.0.0 + version: 11.0.0 drizzle-kit: specifier: ^0.31.5 version: 0.31.5 @@ -5830,14 +5830,18 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - dotenv-cli@10.0.0: - resolution: {integrity: sha512-lnOnttzfrzkRx2echxJHQRB6vOAMSCzzZg79IxpC00tU42wZPuZkQxNNrrwVAxaQZIIh001l4PxVlCrBxngBzA==} + dotenv-cli@11.0.0: + resolution: {integrity: sha512-r5pA8idbk7GFWuHEU7trSTflWcdBpQEK+Aw17UrSHjS6CReuhrrPcyC3zcQBPQvhArRHnBo/h6eLH1fkCvNlww==} hasBin: true dotenv-expand@11.0.7: resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} engines: {node: '>=12'} + dotenv-expand@12.0.3: + resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==} + engines: {node: '>=12'} + dotenv@16.4.7: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} @@ -16464,17 +16468,21 @@ snapshots: no-case: 3.0.4 tslib: 2.8.1 - dotenv-cli@10.0.0: + dotenv-cli@11.0.0: dependencies: cross-spawn: 7.0.6 dotenv: 17.2.3 - dotenv-expand: 11.0.7 + dotenv-expand: 12.0.3 minimist: 1.2.8 dotenv-expand@11.0.7: dependencies: dotenv: 16.4.7 + dotenv-expand@12.0.3: + dependencies: + dotenv: 16.4.7 + dotenv@16.4.7: {} dotenv@17.2.3: {} From ce401a3c4fb247a75971293cb7533dd3609391b9 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Mon, 15 Dec 2025 12:49:04 +0100 Subject: [PATCH 16/17] Add support for open AI bot --- .../src/config/service/AppConfigService.ts | 1 + .../src/lib/llm/client/OpenAiClient.ts | 60 +++++++++++++++++++ .../src/lib/llm/config/LlmConfig.ts | 1 + .../src/lib/llm/service/LlmClientFactory.ts | 11 ++-- .../src/lib/user/config/BotRegistry.ts | 11 ++++ .../src/lib/user/service/BotService.ts | 10 +--- package.json | 1 + pnpm-lock.yaml | 20 +++++++ 8 files changed, 102 insertions(+), 13 deletions(-) create mode 100644 libs/api-service/src/lib/llm/client/OpenAiClient.ts diff --git a/apps/node-chess/src/config/service/AppConfigService.ts b/apps/node-chess/src/config/service/AppConfigService.ts index 1a8f4b3..3993085 100644 --- a/apps/node-chess/src/config/service/AppConfigService.ts +++ b/apps/node-chess/src/config/service/AppConfigService.ts @@ -58,6 +58,7 @@ const getConfig = (): AppConfig => { }, llm: { geminiApiKey: readEnvStrict('GEMINI_API_KEY'), + openAiApiKey: readEnvStrict('OPENAI_API_KEY'), }, }; }; diff --git a/libs/api-service/src/lib/llm/client/OpenAiClient.ts b/libs/api-service/src/lib/llm/client/OpenAiClient.ts new file mode 100644 index 0000000..aac574d --- /dev/null +++ b/libs/api-service/src/lib/llm/client/OpenAiClient.ts @@ -0,0 +1,60 @@ +import { logger } from '@michess/be-utils'; +import OpenAI from 'openai'; +import { LlmResponse } from '../model/LlmMessage'; +import { LlmRequest } from '../model/LlmRequest'; +import { LlmClient } from './LlmClient'; + +export class OpenAiClient implements LlmClient { + private client: OpenAI; + + constructor( + apiKey: string, + private readonly modelName: string, + ) { + this.client = new OpenAI({ apiKey }); + } + + async generateResponse(request: LlmRequest): Promise { + try { + const completion = await this.client.chat.completions.create({ + model: this.modelName, + messages: [ + { role: 'system', content: request.systemPrompt }, + { role: 'user', content: request.userPrompt }, + ], + temperature: request.temperature, + }); + + const choice = completion.choices[0]; + const text = choice?.message?.content ?? ''; + const finishReason = choice?.finish_reason ?? 'unknown'; + + logger.debug( + { + modelName: this.modelName, + promptLength: request.userPrompt.length, + responseLength: text.length, + }, + 'OpenAI API call successful', + ); + + return { + content: text, + finishReason: finishReason === 'stop' ? 'stop' : 'error', + }; + } catch (error) { + logger.error( + { + err: error, + modelName: this.modelName, + }, + 'OpenAI API call failed', + ); + + return { + content: '', + finishReason: 'error', + }; + } + } +} diff --git a/libs/api-service/src/lib/llm/config/LlmConfig.ts b/libs/api-service/src/lib/llm/config/LlmConfig.ts index 2c0f6b4..aa3cd4c 100644 --- a/libs/api-service/src/lib/llm/config/LlmConfig.ts +++ b/libs/api-service/src/lib/llm/config/LlmConfig.ts @@ -1,3 +1,4 @@ export type LlmConfig = { geminiApiKey: string; + openAiApiKey: string; }; diff --git a/libs/api-service/src/lib/llm/service/LlmClientFactory.ts b/libs/api-service/src/lib/llm/service/LlmClientFactory.ts index 49f2ec7..599c25d 100644 --- a/libs/api-service/src/lib/llm/service/LlmClientFactory.ts +++ b/libs/api-service/src/lib/llm/service/LlmClientFactory.ts @@ -2,19 +2,22 @@ import { logger } from '@michess/be-utils'; import { BotConfig } from '../../user/config/model/BotConfig'; import { GeminiClient } from '../client/GeminiClient'; import { LlmClient } from '../client/LlmClient'; +import { OpenAiClient } from '../client/OpenAiClient'; +import { LlmConfig } from '../config/LlmConfig'; export class LlmClientFactory { - static create(botConfig: BotConfig, apiKey: string): LlmClient { + static create(botConfig: BotConfig, config: LlmConfig): LlmClient { switch (botConfig.provider) { case 'gemini': - return new GeminiClient(apiKey, botConfig.model); - case 'claude': + return new GeminiClient(config.geminiApiKey, botConfig.model); case 'gpt': + return new OpenAiClient(config.openAiApiKey, botConfig.model); + case 'claude': logger.warn( { provider: botConfig.provider }, 'LLM provider not yet implemented, falling back to Gemini', ); - return new GeminiClient(apiKey, botConfig.model); + return new GeminiClient(config.geminiApiKey, botConfig.model); default: throw new Error(`Unknown LLM provider: ${botConfig.provider}`); } diff --git a/libs/api-service/src/lib/user/config/BotRegistry.ts b/libs/api-service/src/lib/user/config/BotRegistry.ts index 5c72998..b881bc9 100644 --- a/libs/api-service/src/lib/user/config/BotRegistry.ts +++ b/libs/api-service/src/lib/user/config/BotRegistry.ts @@ -13,6 +13,17 @@ const BOT_REGISTRY: Record = { 'You play balanced, solid chess. Consider both tactical and positional factors.', temperature: 0.7, }, + 'bot-gpt-1': { + id: 'bot-gpt-1', + name: 'ChatGPT 1', + username: 'gpt-1', + description: 'A balanced AI chess player powered by ChatGPT', + provider: 'gpt', + model: 'gpt-4o-mini', + personality: + 'You play balanced, solid chess. Consider both tactical and positional factors.', + temperature: 0.7, + }, }; const getBotConfig = (botId: string): Maybe => { diff --git a/libs/api-service/src/lib/user/service/BotService.ts b/libs/api-service/src/lib/user/service/BotService.ts index fe98356..e7d6205 100644 --- a/libs/api-service/src/lib/user/service/BotService.ts +++ b/libs/api-service/src/lib/user/service/BotService.ts @@ -198,29 +198,22 @@ export class BotService { throw new Error(`Bot configuration not found for bot ${botId}`); } - // Load game from database const game = await this.gameRepository.findGameWithRelationsById(gameId); assertDefined(game, `Game ${gameId} not found`); - // Build chessboard from game state const moves = game.moves.map((m) => Move.fromUci(m.uci)); const initialPosition = FenParser.toChessPosition(FenStr.standardInitial()); const chessboard = Chessboard.fromPosition(initialPosition, moves); - // Get available move options const moveOptions = chessboard.moveOptions; if (moveOptions.length === 0) { throw new Error('No legal moves available'); } - const llmClient = LlmClientFactory.create( - botConfig, - this.llmConfig.geminiApiKey, - ); + const llmClient = LlmClientFactory.create(botConfig, this.llmConfig); - // Get FEN position for compact representation const fen = FenParser.toFenStr(chessboard.position); // Format available moves for the LLM @@ -269,7 +262,6 @@ Move:`; // Extract UCI move from response (take first word, clean it up) const uciMove = response.content.trim().split(/\s+/)[0].toLowerCase(); - // Validate that the move is in the available moves const isValidMove = moveOptions.some( (opt) => Move.toUci(MoveOption.toMove(opt)) === uciMove, ); diff --git a/package.json b/package.json index eacdabc..4cf6278 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "ky": "^1.14.0", "lucide-react": "^0.553.0", "nodemailer": "^7.0.10", + "openai": "^6.10.0", "pino": "^10.1.0", "postgres": "^3.4.7", "react": "19.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c5f2657..784f2ec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,6 +84,9 @@ importers: nodemailer: specifier: ^7.0.10 version: 7.0.10 + openai: + specifier: ^6.10.0 + version: 6.10.0(ws@8.18.0)(zod@4.1.12) pino: specifier: ^10.1.0 version: 10.1.0 @@ -7812,6 +7815,18 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} + openai@6.10.0: + resolution: {integrity: sha512-ITxOGo7rO3XRMiKA5l7tQ43iNNu+iXGFAcf2t+aWVzzqRaS0i7m1K2BhxNdaveB+5eENhO0VY1FkiZzhBk4v3A==} + hasBin: true + peerDependencies: + ws: ^8.18.0 + zod: ^3.25 || ^4.0 + peerDependenciesMeta: + ws: + optional: true + zod: + optional: true + opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true @@ -18998,6 +19013,11 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 + openai@6.10.0(ws@8.18.0)(zod@4.1.12): + optionalDependencies: + ws: 8.18.0 + zod: 4.1.12 + opener@1.5.2: {} optionator@0.9.4: From ecf321a8c229e36555380235cc8401fd970410b1 Mon Sep 17 00:00:00 2001 From: Michael Nilsson Date: Mon, 15 Dec 2025 13:38:40 +0100 Subject: [PATCH 17/17] Add Deepseek model as bot --- .../src/config/service/AppConfigService.ts | 1 + .../src/lib/llm/client/DeepSeekClient.ts | 63 +++++++++++++++++++ .../src/lib/llm/config/LlmConfig.ts | 1 + .../src/lib/llm/service/LlmClientFactory.ts | 3 + .../src/lib/user/config/BotRegistry.ts | 11 ++++ .../src/lib/user/config/model/BotConfig.ts | 2 +- 6 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 libs/api-service/src/lib/llm/client/DeepSeekClient.ts diff --git a/apps/node-chess/src/config/service/AppConfigService.ts b/apps/node-chess/src/config/service/AppConfigService.ts index 3993085..fd831f5 100644 --- a/apps/node-chess/src/config/service/AppConfigService.ts +++ b/apps/node-chess/src/config/service/AppConfigService.ts @@ -59,6 +59,7 @@ const getConfig = (): AppConfig => { llm: { geminiApiKey: readEnvStrict('GEMINI_API_KEY'), openAiApiKey: readEnvStrict('OPENAI_API_KEY'), + deepSeekApiKey: readEnvStrict('DEEPSEEK_API_KEY'), }, }; }; diff --git a/libs/api-service/src/lib/llm/client/DeepSeekClient.ts b/libs/api-service/src/lib/llm/client/DeepSeekClient.ts new file mode 100644 index 0000000..91e3e4d --- /dev/null +++ b/libs/api-service/src/lib/llm/client/DeepSeekClient.ts @@ -0,0 +1,63 @@ +import { logger } from '@michess/be-utils'; +import OpenAI from 'openai'; +import { LlmResponse } from '../model/LlmMessage'; +import { LlmRequest } from '../model/LlmRequest'; +import { LlmClient } from './LlmClient'; + +export class DeepSeekClient implements LlmClient { + private client: OpenAI; + + constructor( + apiKey: string, + private readonly modelName: string, + ) { + this.client = new OpenAI({ + apiKey, + baseURL: 'https://api.deepseek.com', + }); + } + + async generateResponse(request: LlmRequest): Promise { + try { + const completion = await this.client.chat.completions.create({ + model: this.modelName, + messages: [ + { role: 'system', content: request.systemPrompt }, + { role: 'user', content: request.userPrompt }, + ], + temperature: request.temperature, + }); + + const choice = completion.choices[0]; + const text = choice?.message?.content ?? ''; + const finishReason = choice?.finish_reason ?? 'unknown'; + + logger.debug( + { + modelName: this.modelName, + promptLength: request.userPrompt.length, + responseLength: text.length, + }, + 'DeepSeek API call successful', + ); + + return { + content: text, + finishReason: finishReason === 'stop' ? 'stop' : 'error', + }; + } catch (error) { + logger.error( + { + err: error, + modelName: this.modelName, + }, + 'DeepSeek API call failed', + ); + + return { + content: '', + finishReason: 'error', + }; + } + } +} diff --git a/libs/api-service/src/lib/llm/config/LlmConfig.ts b/libs/api-service/src/lib/llm/config/LlmConfig.ts index aa3cd4c..92cd641 100644 --- a/libs/api-service/src/lib/llm/config/LlmConfig.ts +++ b/libs/api-service/src/lib/llm/config/LlmConfig.ts @@ -1,4 +1,5 @@ export type LlmConfig = { geminiApiKey: string; openAiApiKey: string; + deepSeekApiKey: string; }; diff --git a/libs/api-service/src/lib/llm/service/LlmClientFactory.ts b/libs/api-service/src/lib/llm/service/LlmClientFactory.ts index 599c25d..9c6723b 100644 --- a/libs/api-service/src/lib/llm/service/LlmClientFactory.ts +++ b/libs/api-service/src/lib/llm/service/LlmClientFactory.ts @@ -1,5 +1,6 @@ import { logger } from '@michess/be-utils'; import { BotConfig } from '../../user/config/model/BotConfig'; +import { DeepSeekClient } from '../client/DeepSeekClient'; import { GeminiClient } from '../client/GeminiClient'; import { LlmClient } from '../client/LlmClient'; import { OpenAiClient } from '../client/OpenAiClient'; @@ -12,6 +13,8 @@ export class LlmClientFactory { return new GeminiClient(config.geminiApiKey, botConfig.model); case 'gpt': return new OpenAiClient(config.openAiApiKey, botConfig.model); + case 'deepseek': + return new DeepSeekClient(config.deepSeekApiKey, botConfig.model); case 'claude': logger.warn( { provider: botConfig.provider }, diff --git a/libs/api-service/src/lib/user/config/BotRegistry.ts b/libs/api-service/src/lib/user/config/BotRegistry.ts index b881bc9..6e697ba 100644 --- a/libs/api-service/src/lib/user/config/BotRegistry.ts +++ b/libs/api-service/src/lib/user/config/BotRegistry.ts @@ -24,6 +24,17 @@ const BOT_REGISTRY: Record = { 'You play balanced, solid chess. Consider both tactical and positional factors.', temperature: 0.7, }, + 'bot-deepseek-1': { + id: 'bot-deepseek-1', + name: 'DeepSeek 1', + username: 'deepseek-1', + description: 'A balanced AI chess player powered by DeepSeek', + provider: 'deepseek', + model: 'deepseek-chat', + personality: + 'You play balanced, solid chess. Consider both tactical and positional factors.', + temperature: 0.7, + }, }; const getBotConfig = (botId: string): Maybe => { diff --git a/libs/api-service/src/lib/user/config/model/BotConfig.ts b/libs/api-service/src/lib/user/config/model/BotConfig.ts index dfcbc40..003e468 100644 --- a/libs/api-service/src/lib/user/config/model/BotConfig.ts +++ b/libs/api-service/src/lib/user/config/model/BotConfig.ts @@ -3,7 +3,7 @@ export type BotConfig = { name: string; username: string; description: string; - provider: 'gemini' | 'claude' | 'gpt'; + provider: 'gemini' | 'claude' | 'gpt' | 'deepseek'; model: string; personality: string; temperature: number;