feat: add reports mechanism

Ермолаев Максим Юрьевич requested to merge max into main
  • Add Report entity with project, student, report_text, report_type, timestamps and review fields
  • Add ReportRepository with methods to find reports by project, student, review status
  • Add DTOs: ReportRequestDTO, ReportResponseDTO, ReviewReportDTO
  • Add ReportService with create, update, review and get reports functionality
  • Add ReportController with 8 REST API endpoints
  • Add SQL migration for reports table with indexes
  • Add API documentation (REPORTS_API_DOCUMENTATION.md)

Report types: INTERMEDIATE, FINAL Report statuses: PENDING_REVIEW, REVIEWED

Merge request reports