The movie fan club “Acolytes of Ash” is looking to create a trailer portal for its members. The members of this club are all fans of “horror” movies which don’t take themselves too seriously. They want you to create a webapp, which allows them to list trailers of movies, taken from various sources like YouTube, Vimeo, etc.
- When code is added to the project as result of a user story it is committed to the developers branch after a unit of work is complete
- When a feature is completed by coding, the working result is merged into the main branch
As a Developer I want to learn and note down what a Version Control System is, so that I can explain it to my team and to customers.
- A definition of what a VCS is, is available as PDF and written in the team's own words
As a Developer I want to create a fork of the main repository, so that I can build my own solution based on the existing files.
- The repository user-story-based-exercises / webt-core-object-oriented-php-with-version-control was forked for the team
- Each teammember has access to the forked repository (read/write)
As a Developer I want to have separate feature-branches in the repository, so that I can work on tasks autonomously.
- A branch for each feature of this exercise is available on the teams repository (at least one for each user story)
- The state of each of the feature-branches is merged into the main branch
As a Developer I want to create a first preview site as plain static HTML version so that the customer can get an impression of the website.
- A plain static HTML view for a single page is available
- The view features at least 20 video entries (which can use the same resource)
- Each entry features a title, the origin (e.g.: “YouTube”) and is embedded
- The page features CSS
- The page is semantically valid for HTML5
As a Developer I want to create an Interface for a “video”, so that I can be sure that later implementations for each video platform feature all relevant information.
- A PHP Interface for a “video” exists
- The Interface guarantees, that name, source and HTML code for embedding can be retrieved
As a Developer I want to create an abstract class for a video, so that this class can be used as a base for implementing the video interface.
- An abstract PHP class for a “video” exists
- The abstract class implements parts of the interface for a video
As a Developer I want to create a YouTube video class, so that the website can feature YouTube resources for dynamic rendering.
- A class for a YouTube video exists
- The website makes use of this YouTube class to render at least 5 video previews
As a Developer I want to create a Vimeo video class, so that the website can feature Vimeo resources for dynamic rendering.
- A class for a Vimeo video exists
- The website makes use of this Vimeo class to render at least 5 video previews
As a Developer I want to create a release and tag it with version 1.0.0, so that the public can identify the working and complete version.
- The first release is available as version 1.0.0 on the public repository