Fstop is a fictional photography platform built as part of Beyond the Docs.
The platform gives photographers a place to manage their work and clients. Photographers can create projects and galleries, upload photos, and manage clients.
The Fstop API provides a realistic API to work with while exploring the relationship between APIs, OpenAPI specifications, SDKs, and developer documentation.
⚠️ Project status: Fstop is a learning project, not a production API. It currently runs locally and has not undergone comprehensive testing or production hardening. Do not use it for production applications.
The Fstop API provides resources for managing a photography business, including:
- Projects: Create and manage photography projects
- Galleries: Create galleries and associate them with projects
- Photos: Upload and manage photos
- Clients: Create and manage clients
The Fstop API documentation includes:
- API reference documentation
- Guides and conceptual documentation
- SDK examples
- Information about the OpenAPI specification
Note: The SDK examples are currently provided for demonstration purposes and have not been comprehensively tested against a running Fstop API. Don't assume they will work as written.
The Fstop API is currently intended to be run locally for development and experimentation.
Setup instructions coming soon.
Once complete, this section will cover:
- Cloning the repository
- Creating and activating a virtual environment
- Installing dependencies
- Configuring environment variables
- Setting up the database
- Running migrations
- Starting the development server
The Fstop API is a work in progress.
| Area | Status |
|---|---|
| API implementation | 🚧 In progress |
| OpenAPI specification | ✅ Available |
| API reference documentation | ✅ Available |
| Python SDK | ✅ Generated |
| SDK examples | |
| Automated API tests | 🚧 Future work |
| Test data / fixtures | 🚧 Future work |
| Public deployment | 🚧 Future work |
Beyond the Docs is a hands-on project where I built an ecosystem of developer tools to understand how they work and how the technical decisions behind them shape the developer and documentation experience.