> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/igorek05m/daily-geogame/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install and set up Daily GeoGame for local development

## Prerequisites

Before installing Daily GeoGame, ensure you have the following installed on your system:

* **Node.js** 20.x or higher
* **pnpm** (recommended package manager)

<Note>
  While you can use npm or yarn, this project uses pnpm for dependency management. We recommend using pnpm for the best experience.
</Note>

## Clone the repository

First, clone the Daily GeoGame repository from GitHub:

```bash theme={null}
git clone https://github.com/igorek05m/geo.git
cd geo
```

## Install dependencies

Install the project dependencies using your preferred package manager:

<CodeGroup>
  ```bash npm theme={null}
  npm install
  ```

  ```bash yarn theme={null}
  yarn install
  ```

  ```bash pnpm theme={null}
  pnpm install
  ```
</CodeGroup>

<Tip>
  The project uses Next.js 15.5.9, React 19.1.0, and includes Turbopack for faster builds.
</Tip>

## Key dependencies

Daily GeoGame includes the following core dependencies:

* **next** (15.5.9) - React framework with App Router
* **react** (19.1.0) - UI library
* **mongodb** (^6.19.0) - Database driver for MongoDB Atlas
* **typescript** (^5) - Type safety
* **tailwindcss** (^4) - Styling
* **framer-motion** (^12.34.1) - Animations
* **d3-geo** (^3.1.1) - Geographic projections
* **react-zoom-pan-pinch** (^3.7.0) - Interactive map controls

## Running the development server

Before running the development server, you'll need to configure your environment variables. See the [Configuration](/development/configuration) guide for details.

Once configured, start the development server:

<CodeGroup>
  ```bash npm theme={null}
  npm run dev
  ```

  ```bash yarn theme={null}
  yarn dev
  ```

  ```bash pnpm theme={null}
  pnpm dev
  ```
</CodeGroup>

The application will be available at `http://localhost:3000`.

<Note>
  The dev script uses Turbopack (`next dev --turbopack`) for faster development builds.
</Note>

## Verify installation

To verify that everything is installed correctly:

<Steps>
  <Step title="Check the dev server">
    Ensure the development server starts without errors and you can access `http://localhost:3000`.
  </Step>

  <Step title="Check database connection">
    The application should connect to MongoDB. Check the console for any MongoDB connection warnings.
  </Step>

  <Step title="Test the game interface">
    Navigate to the home page and verify that the map loads and the game interface is functional.
  </Step>
</Steps>

## Common installation issues

### Port already in use

If port 3000 is already in use, Next.js will automatically try the next available port (3001, 3002, etc.).

### MongoDB connection errors

If you see `WARN: Missing MONGODB_URI environment variable`, you need to configure your `.env.local` file. See the [Configuration](/development/configuration) guide.

### Node version mismatch

Daily GeoGame requires Node.js 20.x or higher. Check your version:

```bash theme={null}
node --version
```

If you need to upgrade, consider using [nvm](https://github.com/nvm-sh/nvm) to manage Node.js versions.

### pnpm not installed

Install pnpm globally:

```bash theme={null}
npm install -g pnpm
```

## Available scripts

The following npm scripts are available:

| Script  | Command                  | Description                             |
| ------- | ------------------------ | --------------------------------------- |
| `dev`   | `next dev --turbopack`   | Start development server with Turbopack |
| `build` | `next build --turbopack` | Create production build                 |
| `start` | `next start`             | Start production server                 |
| `lint`  | `eslint`                 | Run ESLint for code quality             |

## Next steps

After installation, proceed to:

* [Configuration](/development/configuration) - Set up environment variables and MongoDB
* [Deployment](/development/deployment) - Deploy to Vercel or other platforms
