Overview
AssignmentService is a Spring Boot application designed to manage assignments for educational purposes. It provides a REST API to create, update, delete, and retrieve assignments, with support for file uploads and downloads using MongoDB GridFS. This is the first major release, offering a stable foundation for assignment management.
Key Features
Assignment Management:
Create assignments with file uploads (POST /api/assignments/createassignment).
Update existing assignments, including replacing files (PUT /api/assignments/updateassignment).
Delete assignments by ID (DELETE /api/assignments/deleteassignment).
Retrieve a single assignment by ID (POST /api/assignments/getassignment).
Retrieve all assignments for a course (POST /api/assignments/bycourseid).
Retrieve all assignments (GET /api/assignments).
File Handling:
Upload files with assignments, stored in MongoDB GridFS.
Download files associated with an assignment (POST /api/assignments/downloadfile).
Data Validation:
Enforces constraints on required fields (e.g., CourseId, title, description, dueDate).
Logging:
Comprehensive logging in the controller and service layers for debugging.
Setup and Usage
Prerequisites:
Java 17 or higher.
MongoDB instance (with GridFS support).
Maven for dependency management.