Benacademy
A brief introduction of your project goes here. You may want to cover the purpose of your project, its core functionality, and what problems it solves.
- Python
- Django
- MySQL
- Angular
List out the key features of your application.
- Student CRUD
- Instructor CRUD
- Department wise course creation
- Enroll Student to course
- Change Course's Instructor
- Create Assignment in specific Course
- Submit Assignment via Student
Detailed instructions on how to install, configure, and get the project running.
npm install my-project
cd my-project
npm start
- Endpoint: GET /students/
- Description: Retrieve a list of all students.
- Scope: Admin
- Endpoint: POST /students/register/
- Description: Register a new student.
- Scope: Admin, User
- Endpoint: GET /students/{student_id}/
- Description: Get details of a specific student by providing their unique student ID.
- Scope: Admin, User
- Endpoint: PUT /students/update/{student_id}/
- Description: Update details of a specific student by providing their unique student ID.
- Scope: User
- Endpoint: DELETE /students/delete/{student_id}/
- Description: Delete a specific student by providing their unique student ID.
- Scope: Admin, User
- Endpoint: GET /instructors/
- Description: Retrieve a list of all instructors.
- Scope: Admin
- Endpoint: POST /instructors/register/
- Description: Register a new instructor.
- Scope: Admin, User
- Endpoint: GET /instructors/{instructor_id}/
- Description: Get details of a specific instructor by providing their unique instructor ID.
- Scope: Admin, User
- Endpoint: PUT /instructors/update/{instructor_id}/
- Description: Update details of a specific instructor by providing their unique instructor ID.
- Scope: User
- Endpoint: DELETE /instructors/delete/{instructor_id}/
- Description: Delete a specific instructor by providing their unique instructor ID.
- Scope: Admin, User
- Endpoint: GET /departments/
- Description: Retrieve a list of all base departments.
- Scope: Admin
- Endpoint: POST /departments/create/
- Description: Create a new department.
- Scope: Admin
- Endpoint: GET /departments/{department_id}/
- Description: Get details of a specific department by providing its unique department ID.
- Scope: Admin
- Endpoint: PUT /departments/update/{department_id}/
- Description: Update name of a specific department by providing its unique department ID.
- Scope: Admin
- Endpoint: DELETE /departments/delete/{department_id}/
- Description: Delete a specific department by providing its unique department ID.
- Scope: Admin
- Endpoint: GET /courses/
- Description: Retrieve a list of all courses.
- Scope: Admin
- Endpoint: POST /courses/create/{department_id}/
- Description: Create a new course in a specific department by providing its unique department ID.
- Scope: Admin
- Endpoint: GET /courses/{student_id}/
- Description: Get the list of courses for a specific student by providing their unique student ID.
- Scope: Admin, User
- Endpoint: PUT /courses/update/{course_id}/{instructor_id}/
- Description: Change the instructor of a specific course by providing its unique course ID and the new instructor's ID.
- Scope: Admin
- Endpoint: DELETE /courses/delete/{course_id}/
- Description: Delete a specific course by providing its unique course ID.
- Scope: Admin
- Endpoint: POST /enrollments/enroll/{student_id}/{course_id}/
- Description: Enroll a student to a specific course by providing their unique student ID and the course ID.
- Scope: Admin
- Endpoint: POST /enrollments/enroll/{course_id}/
- Description: Enroll multiple students to a specific course by providing the course ID.
- Scope: Admin
- Endpoint: POST /assignments/create/{course_id}/
- Description: Create a new assignment in a specific course by providing its unique course ID.
- Scope: Admin
- Endpoint: GET /assignments/{student_id}/
- Description: Get the assignments for a specific student by providing their unique student ID.
- Scope: Admin, User
- Endpoint: DELETE /assignments/delete/{assignment_id}/
- Description: Delete a specific assignment by providing its unique assignment ID.
- Scope: Admin
- Endpoint: POST /submissions/{assignment_id}/{student_id}/
- Description: Submit an assignment for a specific student by providing the assignment ID and student ID.
- Scope: User