==========================================================
                EDUCATION SERVICE API DOCUMENTATION
==========================================================

Base URL: http://localhost:3000

----------------------------------------------------------
1. AUTHENTICATION
----------------------------------------------------------

POST /api/auth/register
Description: Register a new user
Body (JSON):
{
    "name": "Full Name",
    "email": "user@example.com",
    "password": "yourpassword"
}

POST /api/auth/login
Description: Login to get JWT Token
Body (JSON):
{
    "email": "user@example.com",
    "password": "yourpassword"
}
Response: Returns a token to be used in 'Authorization' header.

----------------------------------------------------------
2. PRODUCTS (Education Services)
----------------------------------------------------------

GET /api/products
Description: Get all products
Query Params (Optional):
- search: Search by name (e.g. ?search=matematika)
- category: Filter by category (e.g. ?category=Pendidikan)

GET /api/products/:id
Description: Get product details by ID

POST /api/products
Description: Create new product (ADMIN ONLY)
Auth: Bearer Token required
Headers: Content-Type: multipart/form-data
Body (Form Data):
- name: String
- description: Text
- price: Integer
- category: String
- image: File

PUT /api/products/:id
Description: Update product (ADMIN ONLY)
Auth: Bearer Token required
Headers: Content-Type: multipart/form-data
Body (Form Data): Same as Create (optional fields)

DELETE /api/products/:id
Description: Delete product (ADMIN ONLY)
Auth: Bearer Token required

----------------------------------------------------------
3. ORDERS & REPORTS
----------------------------------------------------------

POST /api/orders
Description: Create a new order
Auth: Bearer Token required
Body (JSON):
{
    "productId": 1
}

GET /api/orders/my-orders
Description: Get list of orders for the logged-in user
Auth: Bearer Token required

GET /api/orders/reports
Description: Generate reports (ADMIN ONLY)
Auth: Bearer Token required
Query Params (Optional):
- start: YYYY-MM-DD
- end: YYYY-MM-DD

----------------------------------------------------------
USER ROLES & ACCOUNTS (DEMO)
----------------------------------------------------------

Admin Account:
Email: admin@edu.com
Password: 123456

User Account:
Email: siswa@edu.com
Password: 123456

Note: Use the token from Login in the 'Authorization' header:
Authorization: Bearer <your_token_here>

----------------------------------------------------------
LIST OF ALL ENDPOINT URLS
----------------------------------------------------------

1. AUTH
POST   https://dermawan.petik.or.id/api/auth/register
POST   https://dermawan.petik.or.id/api/auth/login

2. PRODUCTS
GET    https://dermawan.petik.or.id/api/products
GET    https://dermawan.petik.or.id/api/products/:id
POST   https://dermawan.petik.or.id/api/products
PUT    https://dermawan.petik.or.id/api/products/:id
DELETE https://dermawan.petik.or.id/api/products/:id

3. ORDERS & REPORTS
POST   https://dermawan.petik.or.id/api/orders
GET    https://dermawan.petik.or.id/api/orders/my-orders
GET    https://dermawan.petik.or.id/api/orders/reports
