An order service system built on django. Allows customers to create orders and receive updates using Africa's Talking SMS facility.
# Order Service API
A Django-based backend service for managing customer registrations and orders. This project integrates user authentication (OIDC), PostgreSQL for persistent storage, and optional SMS notifications via Africa's Talking.
---
## Live Deployment
**Production URL**:
order-service-twcc.onrender…
---
## Features
- Customer registration
- Order creation and listing
- Google OIDC login integration
- SMS notifications (via Africa's Talking)
- RESTful API (JSON responses)
- PostgreSQL database (hosted on Render)
- Comprehensive test coverage (71 test cases)
---
## Technical Stack
- **Backend:** Django REST Framework
- **Authentication:** Google OIDC via Mozilla Django OIDC
- **Database:** PostgreSQL (Render-managed)
- **Testing:** Django Test Framework
- **CI/CD:** GitHub Actions
- **Deployment:** Render (Gunicorn with `entrypoint.sh`)
---
## API Documentation
| Method | Endpoint | Description | Auth Required | Payload Format |
|--------|-------------------------|----------------------------------|---------------|----------------|
| GET | `/` | Home page | No | – |
| GET | `/register/` | Registration form | No | – |
| GET | `/api/customers/` | List all customers | Yes | – |
| POST | `/api/customers/` | Register a new customer | No | `{ name, email, phone }` |
| GET | `/api/orders/` | List all orders | Yes | – |
| POST | `/api/orders/` | Create a new order | Yes | `{ customer_id, items }` |
| GET | `/oidc/authenticate/` | Initiate Google OIDC login | No | – |
| GET | `/oidc/callback/` | OIDC callback | No | – |
| GET | `/login-redirec …