# PMS (Project Management System)

A modern web-based Project Management System built with React, TypeScript, and Supabase. The application provides a scalable and responsive platform for managing projects, tasks, teams, and workflows efficiently.

## Features

* Modern React frontend with TypeScript
* Fast development powered by Vite
* Backend services powered by Supabase
* Responsive and user-friendly interface
* Code quality enforcement with ESLint and Prettier
* Bun support for faster package management
* Cloudflare deployment support via Wrangler
* Modular and scalable project architecture

## Tech Stack

### Frontend

* React
* TypeScript
* Vite

### Backend & Database

* Supabase

### Development Tools

* ESLint
* Prettier
* Bun
* npm

### Deployment

* Cloudflare Workers / Pages
* Wrangler

## Project Structure

```text
├── src/                # Application source code
├── supabase/           # Supabase configuration and migrations
├── .env                # Environment variables
├── components.json     # UI component configuration
├── eslint.config.js    # ESLint configuration
├── vite.config.ts      # Vite configuration
├── tsconfig.json       # TypeScript configuration
├── wrangler.jsonc      # Cloudflare Wrangler configuration
└── package.json        # Project dependencies and scripts
```

## Prerequisites

Before running the project, ensure you have:

* Node.js 18+
* npm or Bun
* Supabase project configured

## Installation

Clone the repository:

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

Install dependencies:

Using npm:

```bash
npm install
```

## Environment Variables

Create or update the `.env` file:

```env
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
```

Replace the values with your Supabase project credentials.

## Running the Application

Start the development server:

```bash
npm run dev
```

The application will be available at:

```text
http://localhost:5173
```

## Build for Production

```bash
npm run build
```

## Preview Production Build

```bash
npm run preview
```

## Linting

```bash
npm run lint
```

## Formatting

```bash
npm run format
```

## Deployment

Build the project and deploy using Cloudflare Wrangler:

```bash
npm run build
```

Ensure your Cloudflare account and Wrangler configuration are properly configured before deployment.

## Contributing

Contributions are welcome.

1. Fork the repository
2. Create a feature branch
3. Commit your changes
4. Push the branch
5. Open a Pull Request

## License

This project is licensed under the terms specified in the LICENSE file.

---

Developed and maintained by the Beesolver PMS Team.
