Rails Classroom -- An online-education focused course-page builder for educators.
Steps:
- run "rake db:drop:all"
- run "rake db:migrate"
- run the server and register for an user account
- run "rake db:seed"
Rails Decal Fall 17 | Final Project Writeup
Title:
Rails Classroom
Team Members:
Yudi Tan, Michael Tu, Naomi Jung, Kevin Pham
Demo Link:
https://railsclassroom.herokuapp.com/
Idea:
A classroom application that serves as a course-page builder where teachers can create courses and make announcements and assignments, and students can view content for each of their courses.
Models and Description:
Announcement
- Belongs to a course and has a course id
- Has topic (title of announcement) and content
Assignment
- Belongs to a course and has a course id
- Has lecture title, lecture date, homework, reading and attachments (hosted on AWS S3 with the help of Paperclip gem).
Course
- Has and belongs to a user (the instructor of the class / creator of the course-page).
- Has assignments and announcements pertaining the the class.
User
- Built using Devise gem, has multiple courses (be instructors to many different courses).
Features:
- Users can log in
- Users who create courses are instructors. Instructors can create assignments and announcements for each of their courses.
- All users (logged-in or not) can view the course pages for all courses and can see announcements and assignments made by instructors for each of those courses.
Division of Labor:
- Yudi Tan: Created Assignments model, routes, views and configured AWS S3 Bucket for Paperclip file-uploads.
- Michael Tu: Created Users model using Devise configured corresponding routes for sign-up / sign-in / log-out.
- Naomi Jung: Created Courses model as well as views and corresponding routes.
- Kevin Pham: Created Announcements model as well as views for the forms and corresponding routes.
Credits:
UI Inspiration from UC Berkeley's CS61B Course Webpage: http://inst.eecs.berkeley.edu/~cs61b/fa17/