# Portal Web V2

This repository contains the source code for the Portal Web V2 application, a modern enterprise web interface built with Next.js 16 and React 19.

## Overview

The application is designed to provide a robust and scalable frontend interface for the Portal system. It leverages a modern technology stack to ensure performance, maintainability, and type safety.

### Technology Stack

- **Framework:** Next.js 16 (App Router)
- **UI Library:** React 19 with Material UI (MUI) v7
- **State Management:** Zustand and TanStack Query (React Query)
- **Styling:** Tailwind CSS v4 and Emotion
- **Form Management:** React Hook Form with Zod validation
- **Testing:** Jest

## Prerequisites

- Node.js (Latest LTS version recommended)
- npm or yarn package manager

## Installation

1. Clone the repository:

   ```bash
   git clone <repository-url>
   ```

2. Navigate to the project directory:

   ```bash
   cd portal-web-v2
   ```

3. Install dependencies:
   ```bash
   npm install
   ```

## Key Scripts

The following scripts are available in `package.json` for development and operations:

| Script                  | Description                                         |
| ----------------------- | --------------------------------------------------- |
| `npm run dev`           | Starts the development server with hot-reloading.   |
| `npm run build`         | Compiles the application for production deployment. |
| `npm start`             | Runs the compiled production build locally.         |
| `npm run lint`          | Runs ESLint to analyze code quality and fix issues. |
| `npm test`              | Executes the test suite using Jest.                 |
| `npm run test:coverage` | Runs tests and generates a code coverage report.    |

## Project Structure

The project follows the standard Next.js App Router structure:

- `src/`: Contains the source code.
  - `app/`: Next.js App Router pages and layouts.
  - `components/`: Shared UI components.
  - `features/`: Feature-specific modules (Deep Domain Design).
  - `hooks/`: Custom React hooks.
  - `utils/`: Utility functions and helpers.
  - `styles/`: Global styles and theme configurations.

## Development Standards

- **Strict Typing:** TypeScript is enforced throughout the codebase.
- **Code Quality:** ESLint and Prettier configurations are in place to maintain code consistency.
- **Component Architecture:** Components should be atomic and reusable where possible.

## License

Private and Confidential. All rights reserved.
