Skip to content
caracciolo edited this page Sep 25, 2015 · 12 revisions

1. Code: Hello World Application

Download the skeleton project and setup the environment (detailed instructions).

The prototype already offers you the possibility to register new users.

You are asked to implement these new requirements:

  • specify the working team to which a user belongs.
    • Create a new page (new-team.jsp) with an html form for the definition of a new team (like in index.jsp). A team is described by a name and the date in which it was created (current timestamp). You can look at "index.jsp" and "IndexController" for reference.
    • When registering a new user (index.jsp), it must be possible to select one of the teams previously defined. Each User is associated to at most one team.
    • All information entered in the forms must be persisted to the database.
  • view a user's profile.
    • Create a page called "profile.jsp". By opening "profile?userId=123", you should be able to read the information related to the user corresponding to the given id. Information to be displayed are: id, first/last name, email, team name.

save the project on github in a repo named ese2015_hello2. Use the same account that you mentioned when filling out the registration web form.

Recommended readings and reference material:

slides presented during the exercise hour can be found in this git repository.

2. Read: Project description

As a student, you might sometimes need help to prepare an exam. There are various web portals that help you getting in touch with a tutor. Some examples are:

The problem is that these websites are quite generic. They are designed to accommodate a wide range of profiles and study subjects.

What we want instead is a platform targeted to university students who are preparing for a specific exam. Our goal is to focus on very specific matching criteria and to connect students who have sufficient knowledge to support each other.

Let's say, for example, that Alice failed the P1 exam last semester and needs some help to prepare for the next exam session. She would ideally want to get in touch with somebody that already took the exam 1 or 2 years ago and passed it with a good grade. Our web portal is the place where a person fulfilling these requirements can be found. In fact, she eventually gets in touch with Bob who took the same exam the year before and got a good grade (5.5). Bob asks for 40.-/hour, but Alice has good reasons to think that he will be able to help her.

User stories

  • As a student I want to find a tutor that studied the subject I'm preparing for.
  • As a student I want to make sure that a tutor can provide his services according to my needs.
  • As a student I want to make sure that a tutor has good knowledge of the subject.
  • As a student I want to contact a tutor and discuss the details of the engagement.
  • As a tutor I want to create a rich profile that highlights my skills and maximizes my visibility.
  • As a tutor I want to protect my privacy.
  • As a tutor I want to effortlessly interact with potential customers.
  • As a service provider I want to earn a commission on each engagement.

3. Analyze: project description

During the next exercise hour you and your team will have the chance to get a better understanding of what your customer expects from the product that you will develop. Take the opportunity to look into the project description and to discuss the provided user stories. They are intentionally incomplete and poorly detailed. Think about questions that you want to ask.

Possible type of questions:

  • what do you mean with ..? (clarification)
  • what happens if .. ? (unmentioned details)
  • do you also expect us to .. ? (define the scope of the application)