Skip to content

Soham Kamat - Big Project Feature Check #3 Goals #12

@Soham360

Description

@Soham360

Objective

The aim of this final sprint and feature implementation is to integrate the grading aspect with the assignment submission process. Our goal is to ensure that when a student submits an assignment, it can be easily evaluated by the teacher without any issues. Even though the grading function is working, we've encountered difficulties with the assignment component, stopping us from testing both together. Also I want to be able to sort each column in the grade table using insertion sort as that is what we used for the Algorythmic performance. Additionally, I intend on creating a method for file submission similar to Canvas. Initially, I'll focus on text files, and expand to support images, PDFs, and finally videos, prioritizing them based on file size.


Tasks

  • Integrate Grade with Assignment
  • NEW IDEA/Feature: file submissions, currently assignment only takes the user's name, other contributors, and a link
  • The files will be organized in the server based on who submitted it and the assignment

The Plan

Requirements:

  • File Submissions
  • Grade table sorting
  • Grade Assignment Integration

Grades

  • Sorting each column in grade table

File Submissions (start with text and expand to images, pdf, videos, etc.)

  • saving files in backend
Files.copy(file.getInputStream(), filePath);
  • renaming files appropriately
String originalFileName = file.getOriginalFilename();
String fileExtension = originalFileName.substring(originalFileName.lastIndexOf("."));
String baseFileName = name + "_" + assignment;
String newFileName = baseFileName + "_" + counter + fileExtension;
  • Fetching files
  • Display Files on frontend

Grade Integration with Assignment Code

  • self explainitory

Database Schema:

  • Create files table
  • Add a fileName field to the files table to store the original file name of the submission.
  • Add a fileData field (BLOB, Binary Large Object) to store the actual binary of the file and maybe be able to recontruct the binary back into the file.

Schedule

  • Monday: Share my progress with team and create ideation visuals. Check in with Colin to see his progress with solving his issue. Start work on file submissions.
  • Tuesday: Work with Colin (assignment person) to integrate my grade part with his assignment part.
  • Wednesday: finish file submissions (fetch and display on frontend)
  • Thursday: Integrate my file submissions with Colin's assignment
  • Friday: Finalize project and test entire project with group

What I'm going to show

  • Show submitting a file
  • Show file appearing in backend in the table and as an actual file
  • Show fetching of file and displaying it in frontend

Progress

May 20

  • File submissions Frontend
    • Added textboxes for name and assignment and a file selection prompt
      • name and assignment will be taken from the logged in user and the assignment from a drop down once those features are complete
    • Once submit button is pressed, it posts name, assignment, and file to backend
  • File submissions Backend
    • stores file name and BLOB data in file table
    • renames file name_assignment_num.extension
    • stores files in their own directory based on name and assignment
Untitled.video.mp4

May 24

May24UploadDemo.1.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions