How 0x-fyve/imgdox-api works
Imgdox is a Django REST API for user accounts and image editing. Users register or authenticate, upload and browse their images, then request individual or combined transformations and receive media URLs; combined transformations also create an edit record. The sampled views and service code establish these behaviors, but API route definitions and model implementations were not sampled, so their detailed wiring is left unspecified.
Main entry points: views.py Image endpoints · Imgdox/urls.py Project routes · accounts/urls.py Account routes · services.py Image operations
Components 15
Access & Accounts
- Project routes
Imgdox/urls.py - Account routes
accounts/urls.py - Registration
accounts/views.py - Registration serializer
accounts/serializers.py - JWT endpoints
accounts/urls.py
Image API
- Image endpoints
api/views.py - Image serializers
api/serializers.py
Image Processing
- Transformation pipeline
api/services.py - Image operations
api/services.py
Persistence
- Image and edit records
api/models.py - User records
accounts/serializers.py - Media files
media/uploads - SQLite database
db.sqlite3
Other components
- API client
- JWT provider
Connections 17
- API client → Project routes: sends requests
- Project routes → Account routes: routes auth
- Project routes → Image endpoints: includes image API
- Account routes → Registration: dispatches registration
- Account routes → JWT endpoints: exposes tokens
- Registration → Registration serializer: validates and saves
- Registration serializer → User records: creates user
- JWT endpoints → JWT provider: delegates tokens
- Image endpoints → Image serializers: validates and serializes
- Image endpoints → Image and edit records: queries and creates edits
- Image endpoints → Transformation pipeline: runs combined edits
- Image endpoints → Image operations: runs single edits
- Image endpoints → Media files: uploads and returns media URLs
- Image operations → Media files: reads and writes files
- Transformation pipeline → Image operations: applies selected operations
- Image and edit records → SQLite database: persists records
- User records → SQLite database: persists users