Skip to content

Checkpoint 1

Checkpoint Demonstration Structure

Demonstrate all the functionalities of the user stories in week 2 and week 3. All tasks and requirements in the Development, Operations, Documentation and Analysis sections in week 2 and 3 lab guides are mandatory.

Here is a quick overview of development, operations and documentations tasks. For detailed descriptions see the lab guides mentioned previously.

Development

Functionalities that are to be demonstrated:

  • Show us how to access the application through a web browser;
  • Show us how to create text posts;
  • Demonstrate adding a username to a post and show that the default username is anonymous;
  • Show how to add titles to posts;
  • Show how to add pictures to posts;
  • Demonstrate how the upvote or downvote functionality and logic works;
  • Demonstrate that the information displayed on the site is up to date;
  • Demonstrate how error messages are presented to the user when an error occurs. Error messages should not be automatically dismissed (they must be dismissed by the user).

Each student will be asked one question about the application’s functionalities. All members of the team must be able to answer questions about any of the features.

Operations

  • Demonstrate how data persistence is ensured - no data loss should occur when restarting the server;
  • Unit tests: Demonstrate three unit tests and a logic error that causes a test to fail. This must be demonstrated live locally.
  • Pipeline: In GitLab pipeline history show a successful pipeline run and an unsuccessful run. The unsuccessful run must be caused by the linter or Prettier failing.

Documentation

Documentation must include everything that has been described in the previous labs' guides. This includes:

  • How to run the application locally;
  • How to build the code;
  • The steps of the pipeline.

Analysis

Both analysis artifacts from the week 3 lab guide must exist in your repository (recommended paths as follows):

  • docs/analysis/phase1-stack.md
  • docs/analysis/phase1-delivery-metrics.md

During the checkpoint we will ask you to:

  • Open docs/analysis/phase1-stack.md and walk us through one of your predicted containerization difficulties. Be ready to explain why you expect it to be a problem, not just that you do.
  • Open docs/analysis/phase1-delivery-metrics.md and explain one row of your table: which proxy event you chose and how it distorts the real metric.

Info

There is no single correct answer to either analysis. Two teams can choose completely different stacks, or completely different proxy events, and both be fully correct. We are grading the reasoning, not the choice.

Additionally, these files are not throwaway. You will re-read docs/analysis/phase1-stack.md in week 12 and write about what actually happened, and you will extend the delivery metrics table in phase 2. Keep them in the repository.

Scoring

The maximum score for the checkpoint is 15 points. Of these, 10 are team points and 5 are individual points.

  • If any requirements are not met, the team will lose points.
  • Team points are distributed as follows: 5 points for development tasks, 2 points for operations tasks, and 3 points for documentation and analysis tasks.
  • If a team member does not contribute and/or cannot answer individual questions, they will lose individual points.

Contact a TA if you have a valid reason for not attending the checkpoint presentation.

Warning

Penalty for team member not present during the presentation

It is mandatory for all team members to attend the checkpoint presentation. If a team member is not present, they will lose points - how much depends on communication with the other team members, and analysis of the git history.