Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

PROG32758 Final Practical (out of 60)

This is to be done individually and is subject to the school Policy and Guidelines on Academic
Honesty.
• You can use resources from slate, Baeldung, Spring.io and Oracle ONLY.
• No other website/application/forum/chat/discord etc. are allowed
• You must complete and upload this before the end of class time.

In this part of the exam you will create a simple web application.

You must follow the directions in creating your project. Serious marks will be deducted if not!

• You must name your project firstname-


lastname-final, where you use your
name. So, for example my project would
be
jasmine-kalra-final.
• You must name the parent package
ca.firstname_lastname, where you use
your name. So, for example my root
package would be
ca.jasmine_kalra
Not using your names instead of the placeholders
will result in very serious marks being deducted.

Page 1 of 6
• Make sure you add the required
dependencies as well
o Lombok
o Spring Data JDBC
o Spring Data JPA
o H2 Database
o Thymeleaf
o Spring Web

Page 2 of 6
• You should create a Spring Boot application with Spring Web, Thymeleaf, Lombok, H2
Database, JPA and JDBC SQL dependencies.
• Make sure you use your own name when setting up the project!
• You must use the following;
o Best practices as taught in class for database access (using H2):
▪ NamedParameterJdbcTemplate
▪ MapSqlParameterSource
▪ BeanPropertyRowMapper
▪ OR JPARepository
o Thymeleaf in all dynamic pages and you must use fragments for the common header
and footer.

Page 3 of 6
o Appropriate http methods handled in the controller class
o Your application should not crash under any circumstances!
o You must use the techniques as taught in class.
o 40 marks

• You must also create a RESTful endpoint


for accessing Student information. The
window on the right is a result of
Postman’s call to
http://localhost:8080/students/2
o Must return the appropriate
HTTP status and valid JSON in all
circumstances
o You must use the techniques as
taught in class.
o 10 marks

• Finally, there must be at least two (2) JUnit tests.


o At least one testing one of the Controllers’ code and one testing the DatabaseAccess
code.
o 10 marks

• You do not have to add commenting to your code, but you may decide to put some if you are
having difficulties and want to explain (for possible partial marks)

Your project should have a structure very similar to the following. Make sure you have your first name
and last name instead of the placeholders! Serious marks deducted if not.

Page 4 of 6
Page 5 of 6
Submission Criterion

• Submit your zipped project (not rar or 7zip; serious marks will be deducted!)
• Please check your submission before you upload (and do not upload incorrect projects)

Good Luck!

Page 6 of 6

You might also like