# Niki

---

## Prerequisites

- **Go 1.25.4** (Ensure your Go version matches this requirement)
- **Docker 20.10+** (or higher)
- **Git**

---

## Installation

### 1. Configure Go Module Mirror

To accelerate dependency downloads, set the Go module mirror to **Megan** (Iranian Go mirror):

```url
https://megan.ir/hub/go
```

### 2. Install Dependencies

```bash
go mod tidy
go mod vendor
```

### 3. Configure Environment

Copy the example environment file and customize it:

```bash
cp .env.example .env
```

---

## Running the Application

### 1. Start Services

Launch the database and Redis services using Docker Compose:

```bash
docker compose up -d
```

> 🌐 *Docker images are sourced from [Arvan Cloud's Docker repositories](https://www.arvancloud.ir/fa/dev/docker). Ensure
your environment has access to these repositories.*

### 2. Apply Database Migrations

Initialize the database schema:

```bash
go run main.go --migrate
```

### 3. Start the Application

Run the application in development mode:

```bash
go run main.go
```

> ✨ **Alternative**: Use the provided `Makefile` for streamlined execution:
> [Makefile](Makefile)
