Wikipedia Game Solver is a tool that helps you find the shortest path between two Wikipedia pages, using only internal links, basically solving the Wikipedia Game for you.
Go to file
Théo LUDWIG bb39ae856d
All checks were successful
Chromatic / chromatic (push) Successful in 2m30s
CI / ci (push) Successful in 4m40s
CI / commitlint (push) Successful in 19s
docs: add notes about status of the project (abandoned for the moment)
2024-08-30 20:14:50 +02:00
.github/workflows chore: try Adonis Tuyau 2024-08-16 01:50:11 +01:00
.vscode chore(api): improve DX (Developer Experience) 2024-08-19 22:11:33 +01:00
apps build(deps): update latest 2024-08-30 20:06:53 +02:00
data feat(api): work in progress GET /wikipedia/shortest-paths?fromPageId=id&toPageId=id 2024-08-23 23:21:42 +02:00
packages chore: improve type safety Tuyau 2024-08-18 01:31:02 +01:00
patches chore(api): improve DX (Developer Experience) 2024-08-19 22:11:33 +01:00
.dockerignore chore: initial commit 2024-07-24 12:35:33 +02:00
.editorconfig chore: initial commit 2024-07-24 12:35:33 +02:00
.env.example feat(api): implement GET /wikipedia/pages?title=search_title 2024-08-12 00:32:43 +01:00
.gitattributes chore: initial commit 2024-07-24 12:35:33 +02:00
.gitignore chore: try Adonis Tuyau 2024-08-16 01:50:11 +01:00
.npmrc chore: initial commit 2024-07-24 12:35:33 +02:00
.prettierrc.json chore: initial commit 2024-07-24 12:35:33 +02:00
.releaserc.json chore: initial commit 2024-07-24 12:35:33 +02:00
compose.dev.yaml feat(api): create Lucid models and migrations for Wikipedia database dump + usage of PostgreSQL instead of MariaDB 2024-08-11 09:49:23 +01:00
compose.yaml docs: database migrations 2024-08-25 01:50:29 +02:00
LICENSE chore: initial commit 2024-07-24 12:35:33 +02:00
package.json docs: add notes about status of the project (abandoned for the moment) 2024-08-30 20:14:50 +02:00
pnpm-lock.yaml build(deps): update latest 2024-08-30 20:06:53 +02:00
pnpm-workspace.yaml build(deps): update latest 2024-08-30 20:06:53 +02:00
README.md docs: add notes about status of the project (abandoned for the moment) 2024-08-30 20:14:50 +02:00
TODO.md docs: add notes about status of the project (abandoned for the moment) 2024-08-30 20:14:50 +02:00
turbo.json docs: database migrations 2024-08-25 01:50:29 +02:00

Wikipedia Game Solver

Important

The project is abandoned and not maintained anymore.

It was a proof of concept to deal with large amounts of data in databases, and have some fun dealing with Wikipedia data.

The project was also a way to learn and experiment with a clean monorepo architecture, with Turborepo, and TypeScript as the main language.

The project setup can be reused as a template/boilerplate for future projects.

About

The Wikipedia Game involves players competing to navigate from one Wikipedia page to another using only internal links.

Wikipedia Game Solver is a tool that helps you find the shortest path between two Wikipedia pages, using only internal links, basically solving the Wikipedia Game for you.

Available online: https://wikipedia-game-solver.theoludwig.fr

Getting Started

Prerequisites

Installation

# Go to the project root
cd wikipedia-game-solver

# Configure environment variables
cp .env.example .env
cp apps/website/.env.example apps/website/.env
cp apps/api/.env.example apps/api/.env

# Install dependencies
pnpm install --frozen-lockfile

# Install Playwright browser binaries and their dependencies (tests)
pnpm exec playwright install --with-deps

Development

# Start the development servers
node --run dev

# Start the development Docker services (e.g: Database)
docker compose --file compose.dev.yaml up

# Database migrations
node --run database:migrate

# Lint
node --run lint:editorconfig
node --run lint:prettier
node --run lint:eslint
node --run lint:typescript

# Tests
node --run test

# Build
node --run build

# To execute a command in a specific package (e.g: apps/api)
cd apps/api
node --run ace -- list

Production environment with Docker

# Setup and run all the services for you
docker compose up --build

# To execute database migrations
docker compose exec wikipedia-game-solver-api sh
node --run database:migrate

Services started

License

MIT