Develop a Django app for an image analysis and commenting platform.

Description

Objective: Develop Django app for an image analysis and commenting platform. The API should allow users to upload images for analysis, view analyzed images with descriptions, and view or add comments to these images, supporting infinite scrolling for both images and comments.

Don't use plagiarized sources. Get Your Custom Assignment on
Develop a Django app for an image analysis and commenting platform.
From as Little as $13/Page

Technical Requirements
API Endpoint:
POST /analyze-image: Accepts image uploads and sends them to an external image analysis service.
GET /images: Retrieves a list of analyzed images with descriptions, suitable for infinite scrolling.
GET /image/: Retrieves a specific analyzed image, description, and comments.
POST /image//comment: Allows users to add a comment to an image.
Image Processing and External API Integration:
Handle image data securely and efficiently.
Use a public image analysis API (e.g., Google Cloud Vision, AWS Rekognition, GPT4v API) to analyze images.
Infinite Scroll Implementation: Implement /images and /image/ endpoints for loading a limited number of images and comments at a time, suitable for an infinite scroll feature.
Response Handling: Process the external API’s response and return a meaningful image description.
Error Handling: Implement robust error handling for network issues, invalid image uploads, and external API failures.
Testing: Write unit tests for models, API endpoints, and external service integration.
Expected Deliverables
Source Code: Well-organized, commented Django project.
Documentation: A README file explaining:
How to set up and run the application.
Any environment setup required (e.g., API keys).
An overview of the API’s functionality.
Database Schema: Visual or descriptive representation of the database schema
Tests: Unit tests covering key components of the application.
Additional REQUIREMENTS
Logging: Implement logging to track requests and errors.
Security: Add authentication for the API endpoint.
Performance: Optimize for performance under load.
Additional Notes
Follow best practices in API development.
Use the latest stable versions of Python/Django.
Use whatever else you find suitable.