# Farm Control UI

[![Build Status](https://ci.tombutcher.work/buildStatus/icon?job=farmcontrol%2Ffarmcontrol-ui%2Fmain&style=flat-square)](https://ci.tombutcher.work/job/farmcontrol/job/farmcontrol-ui/job/main/)

Farm Control UI is a modern web application for managing and monitoring farm production, inventory, and operations. This project serves as the frontend for the FarmControl system, providing an intuitive interface for users to interact with various farm management modules.

## Features

- Dashboard for real-time monitoring
- Inventory management (Filaments, Parts, Products, Vendors, etc.)
- Production tracking (Jobs, Printers, GCode files)
- User and access management
- Audit logs and activity tracking
- Responsive and user-friendly design

## Stack

- [React](https://reactjs.org/)
- [Vite](https://vite.dev/)
- [JavaScript (ES6+)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- [CSS Modules]
- [Node.js](https://nodejs.org/)

## Getting Started

### Prerequisites

- Node.js (v16 or higher recommended)
- npm (v8 or higher)

### Installation

1. Clone the repository:
   ```bash
   git clone https://github.com/your-org/farmcontrol-ui.git
   cd farmcontrol-ui
   ```
2. Install dependencies:
   ```bash
   npm install
   ```

### Running the App

To start the development server:

```bash
npm run dev
```

The app will be available at [http://localhost:5173](http://localhost:5173).

### Building for Production

To build the app for production:

```bash
npm run build
```

The optimized build will be in the `build/` directory.

To run the app for production:

```bash
npm start
```

## Project Structure

```
src/
  assets/         # Icons, logos, and other static assets
  components/     # React components organized by feature/module
  config.js       # App configuration
  index.jsx        # App entry point
  App.jsx         # Main App component
  ...
public/           # Static public files
scripts/          # Utility scripts (e.g., SVG minification)
```

## License

This project is licensed under the MIT License.