# Services and data — Learning path | Yishto

Canonical page: https://yishto.com/en/learn/service-data/

Author: [Yishto](https://yishto.com/en/about/)

Define contracts and handle concurrency, jobs, storage, and access.

Turn requests into inspectable service behavior.

## Services and data

- [API contracts: parameters, identity, access, and errors](https://yishto.com/en/learn/service-data/http-api-contracts-and-access/index.md): Define private-draft editing through JSON validation, trusted identity, object permissions, safe errors, timeout retry, pagination, and concurrent version checks, with an offline ownership model.
- [Use database constraints to protect business correctness](https://yishto.com/en/learn/service-data/database-indexes-and-transactions/index.md): Verify inventory reservations with uniqueness, conditional decrements, and rollback, while separating index costs, concurrency isolation, and Supabase row-access rules from the offline SQLite test.
- [Handle load with jobs, caches, and backpressure](https://yishto.com/en/learn/service-data/jobs-caches-and-backpressure/index.md): Connect bounded job admission, acknowledgements, retries, and deduplication, while distinguishing rate limits, backpressure, concurrency, and cache staleness from durable processing guarantees.
- [Organize service code by responsibility](https://yishto.com/en/learn/service-data/service-layers-and-frameworks/index.md): Organize a reservation service through HTTP adaptation, use cases, rules, and repositories, then verify transactions, cancellation, and dependency failures separately from framework integration.
- [Use different storage strategies for files, indexes, and records](https://yishto.com/en/learn/service-data/storage-search-and-data-models/index.md): Separate learning originals, ownership records, and search indexes, then design upload recovery, scoped signed access, model choices, and deletion across derived copies.

