CSCI 446 Unit #8
Specific Requirements
This assignment is worth 66 points:
General requirements:
- (6) This will be a node/express app. Grader will not review all your
code, these points are to encourage you to take the
time to go through the example app (honor system). You will learn some things
in that tutorial that are not used now, but may be later.
- (4) You may use either bootstrap 3 or 4 (see Extra Credit below).
Your css should NOT be exactly the same as the textbook
OR my example.
- (4) You must use a controller for the hard-coded data
(but I recommend that you start by hard-coding into the view,
as in the book example). You will submit the controller file (see Ease
of Grading below).
- (2) You must include a consistent nav bar and footer for all
pages.
- (2) For now, the only item on the nav bar is the link
to the home page, with the text "My Courses".
- (2) The nav bar must have a background color and be fixed at the top
of the screen.
- (2) The footer must have a background-color and a centered
logo (yours may be different).
- (5) You must post your application on Heroku. I had to review
section 3.5 to remember how to do this, I expect you may as well.
Home page requirements:
- (2) Include a title with a small strapline (e.g., mine is
"Course Organizer" with strapline "Helping you meet those due
dates").
- Include a list of courses.
- (2) Must include at least 2... pick two classes you
are taking this semester
- (3) Each course should have an id (e.g., CSCI-446), name,
and instructor.
- (2) The id should be a link to the course description page.
- (1) List group should have a background color
Course Info page requirements:
- (2) page heading must be course id and name
- (4) list at least 2 other pieces of info (e.g., I have credits and time/place,
you may use those or something else)
- (4) include a button to add an assignment
- (2) display at least 2 assignments
- (2) Name of the assignment should be highlighted in some way
- (1) Include a due date (just a string)
- (1) Include an integer for point value
- (1) Include a status. This status will come from a drop-down box
(see Add Assignment page)
- (1) You only need to hard-code data for one course (it should be the
first one in your list of courses, so grader can easily view)
Add Assignment page:
- (2) Header is "Add Assignment for " and the course id
- (2) Include input fields for due date and point value
- (2) Include a drop-down for status, with four options (you
may use the four shown in my figure OR create your own).
- (2) Include a button to add the assignment (no action yet).
Extra credit:
- (5) The example is based on Bootstrap3. Some of the options
used (e.g., panel) have been replaced in Bootstrap4 (e.g., with
cards). Extra credit if you update your application to use
Bootstrap4.
- To get credit: you must provide 1-2 sentences
that describe at a high level what you had to change to be
compatible with Bootstrap4 (enough to convince the grader
that you really made the changes, but we don't care about
every choice you made for color, font, etc.)
Ease of grading criteria.
- (1) Include a .txt file with the name of your Heroku url (be sure
that you have pushed the "Courses" site. Going forward, if you
want to push Loc8r to Heroku, be sure to use a different url.)
- For extra credit, include your 1-2 sentences in this .txt file
- (1) To show that you used a controller and didn't just hard-code in
views, include your controller file
- (1) Zip your .txt and controller file