Thanks & Credits

This project is based on many software libraries, resources, and services. You find them listed below. Thanks to everyone contributing to any of these projects. Special thanks to Chess.com and Lichess.org for providing public APIs to read games and metadata from. Also thanks to CloudFlare for their generous free plans.

Used tech stack:

  • Frontend: TypeScript, React, Next.js
  • Backend: TypeScript, Express, MySQL, RabbitMQ, Redis

Below you find more detailed information on all used libraries, including links to the project websites and licenses.

Game Sources and APIs

SourceAPI Documentation
Chess.comPublished-Data API
Lichess.orgLichess.org API reference
Lichess.org - Open Database-

Used software libraries and resources

LibraryWebsiteLicense
abort-controllerabort-controllerhttps://github.com/mysticatea/abort-controllerMIT
amqp-connection-manageramqp-connection-managerhttps://github.com/jwalton/node-amqp-connection-managerMIT
amqplibamqplibhttps://github.com/amqp-node/amqplibMIT
async-mutexasync-mutexhttps://github.com/DirtyHairy/async-mutexMIT
Chess opening namesChess opening nameshttps://github.com/lichess-org/chess-openingsCC0
Chess Pieces by CburnettChess Pieces by Cburnetthttps://en.wikipedia.org/wiki/User:Cburnett/GFDL_images/ChessBSD
concurrentlyconcurrentlyhttps://github.com/expressjs/corsMIT
corscorshttps://github.com/expressjs/corsMIT
croncronhttps://github.com/kelektiv/node-cronMIT
date-fnsdate-fnshttps://github.com/date-fns/date-fnsMIT
dotenvdotenvhttps://github.com/motdotla/dotenvBSD
expressexpresshttps://expressjs.com/MIT
express-async-errorsexpress-async-errorshttps://github.com/davidbanham/express-async-errorsISC
flexboxgridflexboxgridhttps://github.com/kristoferjoseph/flexboxgridApache 2
focus-trap-reactfocus-trap-reacthttps://github.com/focus-trap/focus-trap-reactMIT
Font "Inter"Font "Inter"https://fonts.google.com/specimen/InterSIL Open Font License
Font "Open Sans"Font "Open Sans"https://fonts.google.com/specimen/Open+SansSIL Open Font License
Freak FlagsFreak Flagshttps://www.freakflagsprite.com/MIT
IcoMoon Icons (Free Set)IcoMoon Icons (Free Set)https://icomoon.io/CC BY 4.0
Icon: "Letter" icon by pejyt From the from the Noun ProjectIcon: "Letter" icon by pejyt From the from the Noun Projecthttps://thenounproject.com/browse/icons/term/letterCC BY 3.0
jsonwebtokenjsonwebtokenhttps://github.com/auth0/node-jsonwebtokenMIT
knexknexhttps://knexjs.org/MIT
Loading.io loading indicatorLoading.io loading indicatorhttps://loading.io/css/CC0
lru-cachelru-cachehttps://github.com/isaacs/node-lru-cacheISC
mysql2mysql2https://github.com/sidorares/node-mysql2MIT
nanoidnanoidhttps://github.com/ai/nanoidMIT
nextnexthttps://nextjs.org/MIT
node-fetchnode-fetchhttps://github.com/node-fetch/node-fetchMIT
node-worker-threads-poolnode-worker-threads-poolhttps://github.com/SUCHMOKUO/node-worker-threads-poolMIT
nodemonnodemonhttps://github.com/remy/nodemonMIT
normalize.cssnormalize.csshttps://github.com/necolas/normalize.cssMIT
nprogressnprogresshttps://github.com/rstacruz/nprogressMIT
p-limitp-limithttps://github.com/sindresorhus/p-limitMIT
passportpassporthttps://www.passportjs.org/MIT
passport-google-oauth2passport-google-oauth2https://github.com/jaredhanson/passport-google-oauth2MIT
passport-jwtpassport-jwthttps://github.com/mikenicholson/passport-jwtMIT
passport-oauth2passport-oauth2https://github.com/jaredhanson/passport-oauth2MIT
reactreacthttps://reactjs.org/MIT
react-day-pickerreact-day-pickerhttps://github.com/gpbl/react-day-pickerMIT
react-domreact-domhttps://reactjs.org/MIT
react-loading-skeletonreact-loading-skeletonhttps://github.com/dvtng/react-loading-skeletonMIT
redisredishttps://github.com/redis/node-redisMIT
sasssasshttps://github.com/sass/dart-sassMIT
split2split2https://raw.githubusercontent.com/mcollina/split2/master/LICENSEISC
Stockfish.jsStockfish.jshttps://github.com/nmrugg/stockfish.jsGPL
svgMapsvgMaphttps://github.com/StephanWagner/svgMapMIT
Tanstack QueryTanstack Queryhttps://tanstack.com/query/latestMIT
tRPCtRPChttps://trpc.io/MIT
ts-nodets-nodehttps://github.com/TypeStrong/ts-nodeMIT
typescripttypescripthttps://www.typescriptlang.org/Apache 2
unbzip2-streamunbzip2-streamhttps://github.com/regular/unbzip2-streamMIT
use-count-upuse-count-uphttps://github.com/vydimitrov/use-count-upMIT
victoryvictoryhttps://formidable.com/open-source/victory/MIT
winstonwinstonhttps://github.com/winstonjs/winstonMIT
winston-transportwinston-transporthttps://github.com/winstonjs/winston-transportMIT
zodzodhttps://zod.dev/MIT

Used services

ServiceDescription
CloudFlarePage hosting/CDN/DNS and more... They are great!
GitHubWhere the code lives...
HetrixToolsCool status pages! Check out the ChessMonitor statuspage as an example.
BrevoFor sending mails.
Loader.ioLoad Testing with a generous free plan.