# About Us API

This Django app provides API endpoints for managing about us page content.

## Models

### AboutBanner
- Main banner section with title, description, badge, CTA button, and image
- Related models: AboutStat, AboutSocialLink

### AboutService
- Service section with company information and features
- Related models: AboutFeature

### AboutProcess
- Development process section with methodology and steps
- Related models: AboutProcessStep

### AboutJourney
- Company journey section with milestones
- Related models: AboutMilestone

## API Endpoints

### Combined Endpoint
- `GET /api/about/page/` - Get all about page data in one request

### Individual Endpoints

#### Banner
- `GET /api/about/banner/` - List all active banners
- `GET /api/about/banner/{id}/` - Get specific banner

#### Service
- `GET /api/about/service/` - List all active services
- `GET /api/about/service/{id}/` - Get specific service

#### Process
- `GET /api/about/process/` - List all active processes
- `GET /api/about/process/{id}/` - Get specific process

#### Journey
- `GET /api/about/journey/` - List all active journeys
- `GET /api/about/journey/{id}/` - Get specific journey

## Management Commands

### Populate Sample Data
```bash
python manage.py populate_about_data
```

This command creates sample data for all about us sections.

## Frontend Integration

The frontend uses the following files:
- `lib/api/aboutService.ts` - API service for fetching data
- `lib/hooks/useAbout.ts` - React hooks for data management
- Components in `components/pages/about/` - Updated to use API data

## Usage Example

```typescript
import { useAbout } from '@/lib/hooks/useAbout';

const AboutPage = () => {
  const { data, loading, error } = useAbout();

  if (loading) return <div>Loading...</div>;
  if (error) return <div>Error: {error}</div>;

  return (
    <div>
      <h1>{data?.banner.title}</h1>
      <p>{data?.banner.description}</p>
      {/* Render other sections */}
    </div>
  );
};
```

## Admin Interface

All models are available in the Django admin interface for easy content management:
- Navigate to `/admin/` after creating a superuser
- Manage about us content through the admin interface
- Upload images and manage relationships between models
