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.
This repository has been archived on 2024-10-12. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2024-08-23 23:21:42 +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 feat(api): work in progress GET /wikipedia/shortest-paths?fromPageId=id&toPageId=id 2024-08-23 23:21:42 +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 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
LICENSE chore: initial commit 2024-07-24 12:35:33 +02:00
package.json chore: improve type safety Tuyau 2024-08-18 01:31:02 +01:00
pnpm-lock.yaml chore(api): improve DX (Developer Experience) 2024-08-19 22:11:33 +01:00
pnpm-workspace.yaml chore: try Adonis Tuyau 2024-08-16 01:50:11 +01:00
README.md chore: fix usage issues 2024-08-10 01:32:34 +01:00
TODO.md feat(api): work in progress GET /wikipedia/shortest-paths?fromPageId=id&toPageId=id 2024-08-23 23:21:42 +02:00
turbo.json chore: try Adonis Tuyau 2024-08-16 01:50:11 +01: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 --file compose.dev.yaml up

# 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