76 lines
1.8 KiB
Markdown
76 lines
1.8 KiB
Markdown
|
# 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](https://en.wikipedia.org/) page to another using only internal links.
|
||
|
|
||
|
[**Wikipedia Game Solver**](https://wikipedia-game-solver.theoludwig.fr) 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](https://turbo.build/repo), and [TypeScript](https://www.typescriptlang.org/) as the main language.
|
||
|
>
|
||
|
> The project setup **can be used as a template/boilerplate for new projects**.
|
||
|
|
||
|
## Getting Started
|
||
|
|
||
|
### Prerequisites
|
||
|
|
||
|
- [Node.js](https://nodejs.org/) >= 22.0.0
|
||
|
- [pnpm](https://pnpm.io/) >= 9.5.0
|
||
|
|
||
|
### Installation
|
||
|
|
||
|
```sh
|
||
|
# Go to the project root
|
||
|
cd wikipedia-game-solver
|
||
|
|
||
|
# Configure environment variables
|
||
|
cp .env.example .env
|
||
|
cp apps/website/.env.example apps/website/.env
|
||
|
|
||
|
# Install dependencies
|
||
|
pnpm install --frozen-lockfile
|
||
|
|
||
|
# Install Playwright browser binaries and their dependencies (tests)
|
||
|
pnpm exec playwright install --with-deps
|
||
|
```
|
||
|
|
||
|
### Development
|
||
|
|
||
|
```sh
|
||
|
# Start the development server
|
||
|
node --run dev
|
||
|
|
||
|
# 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
|
||
|
```
|
||
|
|
||
|
### Production environment with [Docker](https://www.docker.com/)
|
||
|
|
||
|
```sh
|
||
|
# Setup and run all the services for you
|
||
|
docker compose up --build
|
||
|
```
|
||
|
|
||
|
#### Services started
|
||
|
|
||
|
`wikipedia-game-solver`: <http://127.0.0.1:5000>
|
||
|
|
||
|
## License
|
||
|
|
||
|
[MIT](./LICENSE)
|