# Examples
## Basic Usage
### Backend API Examples
#### User Authentication
```python
from fastapi import APIRouter, Depends, HTTPException
from fastapi_admin.models import User
from fastapi_admin.depends import get_current_user
router = APIRouter()
@router.get("/profile")
async def get_profile(current_user: User = Depends(get_current_user)):
return {"user": current_user}
```
#### CRUD Operations
```python
from fastapi import APIRouter, Depends, HTTPException
from fastapi_admin.models import Role
from fastapi_admin.depends import get_current_user
from sqlalchemy.ext.asyncio import AsyncSession
from fastapi_admin.database import get_db
router = APIRouter()
@router.get("/roles")
async def get_roles(
db: AsyncSession = Depends(get_db),
current_user: User = Depends(get_current_user)
):
roles = await db.query(Role).all()
return {"roles": roles}
```
### Frontend Examples
#### Vue Component
```vue
{{ user.name }}
{{ user.email }}
```
## Advanced Examples
### Custom Dashboard
```vue
Total Users
{{ userCount }}
Active Roles
{{ roleCount }}
```
### Docker Compose
```yaml
version: '3'
services:
backend:
build: ./backend
ports:
- "8000:8000"
depends_on:
- db
- redis
frontend:
build: ./frontend
ports:
- "80:80"
depends_on:
- backend
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: fastapiadmin
redis:
image: redis:7.0
```