Backlog

Module-Decomposition 🔗  

Expand all

Mandatory Tasks

These tasks will help consolidate your learning for this sprint. You should complete as many of these as possible before class on Saturday.

Chat App 🔗 Clone

Chat App 🔗

Task code

CYF-1162 - make sure to include this in your PR title or description.

Write and Deploy Chat Application Frontend and Backend

https://sdc.codeyourfuture.io/decomposition/sprints/2/prep/

You must complete and deploy a chat application. You have two weeks to complete this.

It must support at least the following requirements:

  • As a user, I can send add a message to the chat.
  • As a user, when I open the chat I see the messages that have been sent by any user.
  • As a user, when someone sends a message, it gets added to what I see.

It must also support at least one additional feature.

Why are we doing this?

Learning about deploying multiple pieces of software that interact.

Designing and implementing working software that users can use.

Exploring and understanding different ways of sending information between a client and server.

Maximum time in hours

16

How to submit

  • Fork the Module-Decomposition repository
  • Develop and deploy your chat app
  • Create a pull request back into the original Module-Decomposition repo, including:
    • A link to the deployed frontend on the CYF hosting environment
    • A link to the deployed backend on the CYF hosting environment
Read about Feature Prioritisation 🔗 Clone

Read about Feature Prioritisation 🔗

Coursework content

Read https://theproductmanager.com/topics/product-feature-prioritization-frameworks/

Estimated time in hours

2

What is the purpose of this assignment?

We always have more ideas than we have time. You won’t be able to build every possible feature in the chat application you’re building this sprint. It’s important to be intentional about what we prioritise.

Learning about prioritisation will help you prepare for a workshop on this.

Refine your Chat Application ticket 🔗 Clone

Refine your Chat Application ticket 🔗

https://github.com/CodeYourFuture/Module-Decomposition/issues/2

Why are we doing this?

The “Write and Deploy Chat Application Frontend and Backend” ticket is too big to be useful.

We can’t meaningfully plan a 16 hour ticket, we can’t easily tell if we’re struggling and need help, and it doesn’t help us understand what is important and what we should skip if we run out of time.

Split it into smaller tickets which each won’t take more than 3 hours to complete. Prioritise them:

  • Which do you need to do first?
  • Which are absolutely required?
  • Which ones could you skip if you ran out of time?

Bear in mind you only have 16 hours to do this project. It’s ok to decide not to do some of the requirements. But you should be intentional about which ones you skip. e.g. it would not be ok to skip adding the ability to send messages. A chat application doesn’t make sense without being able to send messages.

Maximum time in hours

1

How to submit

Create prioritised, estimated tickets on your planning board breaking down the big ticket into small tickets.

Give a demo in a demo session

Give a demo in a demo session

Presenting information is really important. You need to practice giving demos, and each week build on the feedback you got the previous week.

At CYF we expect you to demo your work to the class. You must have many opportunities to practice how to clearly and simply explain your work to others. This is really important both for interviews and for getting promoted later on.

Attend the SDC demo sessions this week during the saturday class, and give a presentation about a topic of your choosing.

Also try to give some feedback to one of your fellow trainees during this session on their demo.

Aim for a 5 minute demo. But your demo must be at least 1 minute and at most 10 minutes long. Check out our guide about presenting.

You only need to give one of these demos every two weeks. You can give extra demos in addition whenever you want more practice.

Mentored Coding (Edu Team)

Mentored Coding (Edu Team)

Learning Objectives

Mentored coding is an excellent way to develop programming and communication skills. It is often much easier to work through something when working on something 1-to-1. It is also helps you to prepare for technical interviews when you may need to code in front of other people or explain your solution to a problem.

Pick one piece of programming you’re doing (we recommend a Codewars kata) and team up with a volunteer to work on it together.

See the mentored coding guide for guidance.

Book time with your assigned education mentor for this.

Remember, as a learner, you will need to explain your thought process, plan out what to do, write the code and check it works

You will get feedback from your mentor during the session. If there are specific topics you would like to receive feedback on then let them know at the start of the session so they know what to focus on.

Complete the Codility Test

Complete the Codility Test

Learning Objectives

You will be provided with a codility test that needs to be completed.

Complete the test, and then have a discussion about your outcome with a mentor on slack.