Inspiration

The inspiration for Assessment360 came from seeing the frustrations of teachers, students and administrators when managing assignments using traditional pen and paper methods. We wanted to create a seamless system to help optimize and enhance the assignment workflow.

What it does

Assessment360 provides an end-to-end platform to distribute, submit, grade and monitor assignments and assessments in an educational setting. Key features include:

For Teachers:

  • Course creation and content uploading
  • Create and manage assignments, quizzes, exams
  • Distribute assessments to selected students
  • Grade submissions and provide feedback
  • Mark student attendance and participation
  • Track student progress and performance

For Students:

  • View and submit assignments online
  • Receive grades and feedback
  • Monitor progress across courses
  • Access course materials
  • Get reminders for deadlines
  • By centralizing assignment management, Assessment360 saves time for teachers while providing transparency for students on their progress.

How we built it

  • Django - a Python web framework for building the backend API and models
  • MongoDB for storing and managing assignment data through Django models
  • Self-made Django models as the API for frontend and mobile access

Accomplishments that we're proud of

  • End-to-end platform covering assignment lifecycle
  • Automating grading and feedback
  • Easy-to-use interfaces for all users
  • Powerful analytics providing data insights
  • Scalability to handle large volumes

Endpoints & Cronjobs

Admin (super_user)

Method Endpoint Description Request Body Response Body
POST /admin/register Register a new Admin JSON: {name,priority} JSON: {token,user,admin_id}
GET /admin/:id Get Admin details NULL JSON: {admin}

Tasks

Method Endpoint Description Query Headers Request Body Response Body
GET /student/assignment Get all Assignemnts of the Student of all courses priority, status, due_date, page, limit Authorization: student_id N/A JSON: {docs,totalDocs,page,limit,totalPages}
POST /student/update-assign Create a new Assignment for Student under a Course N/A Authorization: student_id JSON: {title,description,due_date,pdf_location} JSON: {task,assign_id}
DELETE /api/task/:task_id Soft Delete Assignment for Student N/A Authorization: student_id N/A JSON: {task,assign_id}

Sub Tasks

Method Endpoint Description Query Headers Request Body Response Body
GET /discussion Get all Discussion of the User task_id Authorization: stud_id N/A JSON: {subTasks}
GET /tests Get all tests allocated to the User stud_id Authorization: stud_id N/A JSON: {subTasks}
POST /tests/update Create a new submit for test by Student under Course N/A Authorization: stud_id JSON: {task_id} JSON: {subTask,test_id}
DELETE /tests/:test_id Delete test for student by faculty stud_id Authorization: stud_id N/A JSON: {subTask,test_id}

What's next for Assessment360

  • Expand plagiarism detection
  • Add access controls
  • Build mobile apps
  • Enhance analytics with ML
  • Develop APIs for school database integration

Built With

Share this project:

Updates