Movie Tracking API
- FastAPI
- MongoDB
- Pytest
- Kubernetes
- Docker
- Grafana
- Gunicorn
-
POST /api/v1/movies/
- Description: Creates a movie.
- Request Body: CreateMovieBody object (with fields title, description, release_year, and optional watched)
- Response Model: MovieCreatedResponse
-
GET /api/v1/movies/{movie_id}
- Description: Returns a Movie if found, None otherwise.
- Path Parameter: movie_id (string, required)
- Response Model: MovieResponse (200) or DetailResponse (404)
-
GET /api/v1/movies/
- Description: Returns movies by filtering their title.
- Query Parameter: title (string, required, minimum length 3)
- Pagination Parameters: skip (integer, optional, default 0), limit (integer, optional, default 1000)
- Response Model: List of MovieResponse objects
-
PATCH /api/v1/movies/{movie_id}
- Description: Updates a movie.
- Path Parameter: movie_id (string, required)
- Request Body: MovieUpdateBody object (with optional fields title, description, release_year, and watched)
- Response Model: DetailResponse (200) or DetailResponse (400)
-
DELETE /api/v1/movies/{movie_id}
- Description: Deletes a movie.
- Path Parameter: movie_id (string, required)
- Response: 204 No Content
Erol Gelbul - Website
Project Link: IMBD Tracker