# Learn Hausa API Documentation
## Overview
The Learn Hausa API is a comprehensive RESTful API for learning the Hausa language. It provides endpoints for user authentication, lesson management, vocabulary, quizzes, and progress tracking.
## API Documentation Access
Once your Django server is running, you can access the interactive API documentation at:
### Swagger UI (OpenAPI)
- **URL**: `
localhost`
- **Features**: Interactive API explorer with request/response examples
- **Best for**: Testing API endpoints and understanding request formats
### ReDoc
- **URL**: `
localhost`
- **Features**: Clean, readable documentation with detailed descriptions
- **Best for**: Reading comprehensive API documentation
### OpenAPI Schema
- **URL**: `
localhost`
- **Format**: JSON schema following OpenAPI 3.0 specification
- **Best for**: Generating client SDKs or importing into API tools
## Quick Start
1. **Install dependencies**:
```bash
pip install -r requirements.txt
```
2. **Run migrations**:
```bash
python manage.py migrate
```
3. **Start the development server**:
```bash
python manage.py runserver
```
4. **Access documentation**:
- Open `
localhost` for Swagger UI
- Open `
localhost` for ReDoc
## Authentication
The API uses JWT (JSON Web Tokens) for authentication. Include the access token in the Authorization header:
```
Authorization: Bearer
```
### Getting Tokens
1. **Register**: `POST /api/v1/auth/register/`
2. **Login**: `POST /api/v1/auth/login/`
3. **Refresh**: `POST /api/v1/auth/token/refresh/`
## API Endpoints Overview
### Authentication (`/api/v1/auth/`)
- `POST /register/` - Register new user
- `POST /login/` - User login
- `POST /token/refresh/` - Refresh access token
- `GET /profile/` - Get user profile
- `PUT /profile/` - Update user profile
- `GET /progress/` - Get user progress
- `POST /progress/` - Create progress record
### Lessons ( …