Ruby+Rails website for managing university classes. Course project for Database Systems.
To use: As any rails application: install rails, run bundle install, then db:setup and open the server using rails server. The website will then be on localhost:3000.
Changelog:
- Make a Student database table and the corresponding model (won't add much functionality yet).
- Make a Department database table and the corresponding model.
- Make a Teacher database table and the corresponding model (empty controller).
- Make an Employee database table and the corresponding model.
- Link User to Student\Staff\Employee. (Model / View).
- Make a seeding script for the database that initializes a few students, a few teachers, a few users, and an administrator.
- Make a student-department association (Enrollment model).
- Admin can search students.
- Admin can search users.
- Admin can remove, edit, add students.
- Admin can remove, edit, add enrollments.
- Add teacher degrees to model.
- Add teacher research interests to model.
- Admin can remove, edit, add teachers.
- Admin can remove, edit, add departments.
- Add courses model.
- Admin can remove, edit, add courses.
- Add course enrollment model.
- Admin can assign teachers to courses.
- Admin can remove teachers from courses.
- Admin can enroll students in course.
- Admin can remove students from course.
- Add coursework.
- Add student-coursework association.
- Add course notes.
- Add lectures.
- Admin can manage number of lectures in a course.
- Admin can assign teacher to a lecture.
- Admin can browse friendships among users.
- Admin should be able to make any user into an admin.
- Admin can see students marks, can track which students are close to failing (or failed).
- Add profile-profile messaging.
- Add profile-profile friendship.
- Add some statistical data visualization for courses and students.
- Add teams model.
- Admin can browse teams and associated team coursework.
- Admin/Teacher can announce things to students.
- Admin can ban students.
- Admin can ask teacher to confirm lecture time/place.
- Add chatrooms.
- Clean up schema.
- Add course prerequisites.
- Add comments on course notes and lectures.
- Add file uploading on course notes.
- Add locations on campus.