Exercise 2
Course Registration System ("Ilmo 2.0")- first iteration
Current "ilmo" (http://ilmo.cs.helsinki.fi) is not very flexible. For the next 5 weeks, let's develop a radically different 2.0 version of it.
This might seem a bit boring exercise, but have you ever seen a course registration system with a newsfeed, where you can see in which courses your friends have planned to attend and "like" that? All students are also very familiar with it, so we should have a clear vision of required features.
Main new ideas (for the next 6 weeks):
At the end of this course, I would like to see something like this:
- Student should be able to register for multiple exercise groups
- Students should be able to pre-register themselves in advance.
- This helps the department to get enough instructors for the courses.
- Student should be able to queue for a specific group (and system should auto-register people from queue if places become available)
- This gives good feedback for planning the times for exercise groups
- It should be possible to overbook a group
- It should be possible to create a user account without an account from University of Helsinki (guests)
- Student should see in which group their friends are registered in.
- System should be localized in different languages (Swedish, English, Finnish) and languages and translations should be modified from some kind of administrative UI.
- Generic help texts should be editable from administrative UI. (Lightweight CMS)
- Student should be able to upload a profile picture
- System should have a "planner view" where a student should see all possible times for courses
- It should be possible to change a group in a "transaction"
- It should be possible to generate PDF reports from course participants and such.
START working on ex3 at the exercise session,
pair-programming!
Exercises (features to implement)
Required features
You should have these features implemented at the exercise session. You get 1 point for each implemented feature.
- 1p: Listing of all courses with links (left browser window of that picture)
- Links point to the course page
- 1p: Showing one course details on separate page
- Shows course description, name
- 1p: A Ruby script to generate testing data into the database
- Must be able to define how many courses you want in database (0..1000)
- An option to delete existing data in database OR append to the database
Optional features
You can select three of the following:
- 1p: Common layout
- CSS stylesheet linked to every page "in a Rails way"
- Common layout for all pages (one file to define basic layout, <head> -section)
- 1p: Each page shows the time when the page was generated
- must be in "Finnish" format: 4.11.2009 09:57
- 1p: Application is running in your own local server AND in rails.cs.helsinki.fi
- 1p: You are using Postgres or MySQL instead of SQLite
I want to become an expert (+1credit)
- All of the above
- Creation of new courses with a form