# Izaac 2.1 Project

This project consists of a Django backend and a React/TypeScript frontend. Below are instructions for setting up and running both parts in development mode.

## Prerequisites

- Python 3.x
- Node.js (LTS version recommended)
- npm or yarn
- SQLite (included with Python)

## Backend Setup

1. Navigate to the backend directory:
```bash
cd backend
```

2. Create and activate a virtual environment:
```bash
python -m venv venv
source venv/bin/activate  # On Windows use: venv\Scripts\activate
```

3. Install dependencies:
```bash
pip install -r requirements.txt
```

4. Run database migrations:
```bash
python manage.py migrate
```

5. Start the development server:
```bash
python manage.py runserver
```

The backend will be available at `http://localhost:8000`

## Frontend Setup

1. Navigate to the frontend directory:
```bash
cd frontend
```

2. Install dependencies:
```bash
npm install
# or if you use yarn:
yarn install
```

3. Start the development server:
```bash
npm run dev
# or if you use yarn:
yarn dev
```

The frontend will be available at `http://localhost:5173`

## Development

- Backend API documentation is available at `http://localhost:8000/api/docs/` when the server is running
- Frontend hot-reloading is enabled by default
- Backend hot-reloading is enabled by default with Django's development server

## Project Structure

- `/backend` - Django backend application
- `/frontend` - React/TypeScript frontend application
- `/nginx` - Nginx configuration files

## Additional Notes

- Make sure both backend and frontend servers are running simultaneously for full functionality
- The backend uses SQLite as the database by default
- Frontend is built with Vite and uses Tailwind CSS for styling 