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
2024-08-09 22:51:41 +01:00
.github/workflows ci: enable release on main 2024-07-24 12:41:01 +02:00
.vscode refactor: components struture 2024-07-31 15:46:01 +02:00
apps feat: init apps/api 2024-08-09 22:51:41 +01:00
data feat: wikipedia data dump working 2024-08-08 02:21:53 +01:00
packages chore(release): 1.0.0-staging.3 [skip ci] 2024-07-31 14:16:10 +00: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: init apps/api 2024-08-09 22:51:41 +01:00
.gitattributes chore: initial commit 2024-07-24 12:35:33 +02:00
.gitignore feat: init apps/api 2024-08-09 22:51:41 +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: init apps/api 2024-08-09 22:51:41 +01:00
compose.yaml feat: init apps/api 2024-08-09 22:51:41 +01:00
LICENSE chore: initial commit 2024-07-24 12:35:33 +02:00
package.json feat: init apps/api 2024-08-09 22:51:41 +01:00
pnpm-lock.yaml feat: init apps/api 2024-08-09 22:51:41 +01:00
pnpm-workspace.yaml feat: init apps/api 2024-08-09 22:51:41 +01:00
README.md feat: init apps/api 2024-08-09 22:51:41 +01:00
TODO.md feat: wikipedia data dump working 2024-08-08 02:21:53 +01:00
turbo.json chore: enable turbo tui 2024-07-30 09:10:12 +02:00

Wikipedia Game Solver

Important

This project is a work in progress, at an early stage of development.

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

Note

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

The project setup can be used as a template/boilerplate for new projects.

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 up --file compose.dev.yaml

# 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

Services started

License

MIT