Overview
TaskFlow documents the backend foundation I would bring to any client build: predictable REST endpoints, validation at the edge and a consistent error envelope, paired with a small React client that consumes it. It exists to show the API patterns in isolation, without UI complexity hiding them.
The problem it solves
Main features
- CRUD endpoints with schema validation
- JWT access tokens with a refresh flow
- Pagination, sorting and filtering on list endpoints
- Consistent error envelope so clients handle failures uniformly
Challenges & solutions
Access-token expiry kept interrupting sessions in the client.
Added a refresh flow with a single retry wrapper that transparently rotates the access token before retrying the original request.
Improvements & future plans
- Per-client rate limiting
- Integration tests in CI
- OpenAPI documentation generated from the route definitions