Introduction
Let's build a website for a fictional software conference called ConferenceWorks.
Learning Objectives
Domain
There are a few key ideas in the domain that we'll be modeling. This is our Ubiquitous Language.
- Speaker
- Speakers are invited to give Talks at the software conference. Speakers have a
name
and abio
that is one or more paragraphs long. A Speaker also has aphoto
. - Talk
- A Talk has a
title
and adescription
. When a Talk is scheduled for a specific Room and Timeslot, you have a Session. If a Talk spans multiple Timeslots, it is considered a Workshop. A Keynote is a Talk that everyone attends, so it appears on the Schedule as a Talk that spans all of the rooms. - Room
- A Room has a
name
and anumber
. A Room has several Timeslots. - Timeslot
- A Timeslot has a
start time
and aduration
. A Timeslot is associated with a specific Room. - Session
- A Session is a Talk that is scheduled in a specific Room during a specific Timeslot. The Schedule is a collection of Sessions.
- Schedule
- The Schedule shows all of the Sessions at the conference, which is a Talk that is scheduled for a specific Room during a specific Timeslot.