Welcome to our final project for class CS 546! This project is designed to facilitate seamless communication and interaction among three primary roles: Admin, Professor, and Student. Below, you'll find an information on how to start and about the key features and functionalities.
Create .env file .env
mongoServerUrl="URL pointing to your mongodb instance"
CookieSecret="A random string that helps keep session cookies secure"
SMTPServerURL="The url pointing to your SMTP server"
SMTPPort=465
SMTPUsername="Username"
SMTPPassword="Password"
MailServerDomain="The domain from which your emails will be sent"
SiteDomain="The url from which the site can be accessed"
To run:
npm i
npm run seed
npm start
After running the npm run seed command, you can use the following pre-seeded user accounts to log in to the application:
- Username: admin@stevens.edu
- Password: SuperSecret
-
Username: prof1@stevens.edu
-
Password: SuperSecret
-
Username: prof2@stevens.edu
-
Password: SuperSecret
-
Username: student1@stevens.edu
-
Password: SuperSecret
-
Username: student2@stevens.edu
-
Password: SuperSecret
-
Username: student3@stevens.edu
-
Password: SuperSecret
Please use these credentials to access the application with the respective roles and explore the features available for each user type.
-
Create User
- Admins have the authority to create user accounts for Professors and Students.
-
Register, Edit Courses
- Admins can manage the course catalog by registering new courses and editing existing ones.
-
Add, Delete Section to Courses
- Admins can organize courses by adding or deleting sections.
-
Assign Professor to Section
- Admins can assign Professors to specific sections of courses.
-
Edit Section
- Admins can edit the details of existing sections, such as the schedule or location.
-
Manage Department Lookup
- Admins can oversee and update department-related information.
-
View Courses on Dashboard
- Professors can see the list of courses they are assigned to teach on their dashboard.
-
Create Modules in Assigned Section
- Professors can create modules within the sections they are assigned to.
-
Create Assignments
- Professors can create assignments for students within their assigned sections.
-
Grade Students
- Professors can review and grade assignments submitted by students.
-
Add Learning Material
- Professors can upload learning materials for students.
-
Manage Attendance
- Professors can enable attendance and see who all are marked present based on their location.
-
View Enrolled Courses on Dashboard
- Students can see a list of courses they are currently enrolled in on their dashboard.
-
Enroll for New Courses
- Students can enroll in additional courses.
-
View Course Details
- Students can access detailed information about each course they are enrolled in.
-
View and Submit Assignments
- Students can view assignments created by professors and submit their completed work.
-
View Grades
- Students can view their grades for completed assignments.
-
Read Course Learning Materials
- Students can access and read learning materials uploaded by professors.
-
Generate Transcripts
- Students can generate transcripts containing their academic records and grades.
-
Mark Attendance
- Students can mark their attendance once the professor enables it.
- Generate Transcripts
- Integrated Frontend PDF Viewer
- User Email Notifications
This project is licensed under the MIT License - see the LICENSE file for details.