The LMS has 3 different views: Teacher, Student and Admin.
An Admin can do CRUD operations on teachers, students and courses.
A student can:
Access the courses they are enrolled in.
Read/Download all the different contents of a course(that they are enrolled in) like Syllabus, Announcements, Assignments etc.
Upload files to the dropbox of a particular course(that they are enrolled in).
A teacher can:
Access the courses they are teaching.
Read/Download and Upload all the different contents of a course(that they are teaching) like Syllabus, Announcements, Assignments etc.
An admin member can:
Create/Read/Update/Delete any student
Create/Read/Update/Delete any teacher
Create/Read/Update/Delete any course
Add/Remove a student to a course