Assignment#2 -sinatra
2019/05
The goal of the assignment, is to create a web site using Sinatra.
This application will be similar to the Songs of Sinatra application explained in class. Instead of creating a web site of songs, you are creating a website of student information.
Basically, you will create a application similar to this snapshot:
So there are 2 parts:
Part 1. You create these 4 functions: students, comment, video, login/logout
For students, the application should have functions shown in the diagram (see separate diagram file)
– show all of the students, add new student, show each students info. Edit each students, delete student
You need to create a student table for student information. It should have student firstname, lastname, birthday, address, student id, and other properties you like.
For comment, the application will be able to:
– show all the comment (with timestamp)
– create new comment
– show a specific comment (by clicking on it), with name, time created, and comment content
You need to create a comment table for comment information. It should have name of the person, comment. You need also create more route handlers.
For timestamp, create a “created_at” property, Sinatra will automatically fill this field with time when the comment is created.
For video, check out html 5
one on slide), then for create/edit student, you need a authorized person to be logon. If the authorized person is not logged on, then send the login view to the browser.
When a person is logged in, the menu turn into logout.
Something like the snapshot below:
Part 2. Deploy your application to Heroku
Follow the deployment procedure on camino, deploy your application to Heroku server.
Other requirements:
– Use erb template
– Check out different situations when running your program, make sure your program behave normally. like for example, when creating a new student, what is going to happen if you do not enter student name or other fields. What if you submit a empty comment.
– Write program comment
– Provide a link of your deployed application.