# MBHS Frontend

A Next.js frontend application for MBHS.

## Prerequisites

- Node.js v18.x or higher
- npm v9.x or higher

## Packages

### Dependencies

| Package   | Version |
| --------- | ------- |
| next      | 16.1.1  |
| react     | 19.2.3  |
| react-dom | 19.2.3  |

### Dev Dependencies

| Package              | Version |
| -------------------- | ------- |
| tailwindcss          | ^4      |
| @tailwindcss/postcss | ^4      |
| typescript           | ^5      |
| @types/node          | ^20     |
| @types/react         | ^19     |
| @types/react-dom     | ^19     |
| eslint               | ^9      |
| eslint-config-next   | 16.1.1  |
| husky                | ^9.1.7  |

## Installation

1. Clone the repository

```bash
git clone <repository-url>
cd mbhs-frontend
```

2. Install dependencies

```bash
npm install
```

3. Create environment file

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

4. Configure the `.env` file with your settings

```
PORT=3000
NEXT_PUBLIC_BASE_PATH=''
```

## Running the Project

### Development

```bash
npm run dev
```

### Production

Build the application:

```bash
npm run build
```

Start the production server:

```bash
npm start
```

### Other Commands

| Command              | Description                |
| -------------------- | -------------------------- |
| `npm run lint`       | Run ESLint                 |
| `npm run type-check` | Run TypeScript type check  |

## Notes

- The project uses Tailwind CSS v4 with the new `@import "tailwindcss"` syntax
- Environment variables are loaded from `.env` file for port configuration
- Husky is configured for git hooks (pre-commit)
- The app supports both light and dark mode based on system preferences
