# ASF TestArena

A web-based platform for managing automated test jobs for software projects.

## Features

- User authentication and role-based access control
- Admin dashboard for user management
- Test job submission with multi-step workflow
- Real-time job monitoring and status tracking
- HTML test result viewing
- Automatic cleanup of old test results

## Quick Start

### Prerequisites

- Docker and Docker Compose
- Git

### Installation

1. Clone the repository
2. (Optional) Copy `.env.example` to `.env` and update the values
3. Run the deployment script:

**Windows (PowerShell):**
```powershell
.\deploy.ps1
```

**Linux/Mac:**
```bash
chmod +x deploy.sh
./deploy.sh
```

4. Access the application at your configured domain

### Default Credentials

- Username: `admin`
- Password: `admin123`

**Important:** Change the default admin password immediately after first login!

## Configuration

### Caddy Integration

To integrate with Caddy reverse proxy:

1. Uncomment the `caddy_network` section in `docker-compose.yml`
2. Replace `caddy_network` with your actual Caddy network name
3. Add the following to your Caddyfile:

```
testarena.nabd-co.com {
    reverse_proxy testarena_web:5000
}
```

## Architecture

- **Backend:** Flask (Python)
- **Database:** PostgreSQL
- **Frontend:** HTML/CSS/JavaScript
- **Reverse Proxy:** Caddy
- **Containerization:** Docker

## User Roles

### Admin
- Create, delete, and manage users
- Reset user passwords
- View all test jobs

### Standard User
- Submit test jobs
- View own test jobs
- Monitor job status

## Development

To run in development mode:

```bash
cd app
pip install -r ../requirements.txt
export FLASK_ENV=development
export DATABASE_URL=sqlite:///testarena.db
python wsgi.py
```

## License

Proprietary - NABD Co.
