πŸ₯ž backlog

Module-Cloud πŸ”—

[TECH ED] Develop extra skills with Udemy courses πŸ”— Clone

https://codeyourfuture.udemy.com/learning-paths/2897212/

Why are we doing this?

We have a partnership with Udemy and you have access to thousands of specialised courses. Use this resource to develop your skills and consolidate your understanding.

Don’t like these courses? Suggest better ones. πŸ˜‰

Maximum time in hours

n/a

How to get help

The best way to make progress in courses is to form a study group and do a course together. You don’t need to overcomplicate this – just checking in for 15 minutes a week with each other can help you focus, and finish.

  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Teamwork
  • 🎯 Topic Time Management
  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… Sprint 2
[TECH ED] Play the Bandit πŸ”— Clone

https://overthewire.org/wargames/bandit/

Why are we doing this?

Basic Linux skills are essential for roles in Cloud, DevOps, Cyber, and SRE. Junior Cloud and DevOps roles are growing in the industry. It’s a good idea to practice Linux skills to make yourself more employable. During this module, you will execute commands in the terminal to create files and run scripts, so you will have many chances to practice your command line skills.

Your goal is to get to Level 30 by the end of the module. πŸ’ͺ You can do this!

Maximum time in hours

n/a stretch

How to get help

Work through the puzzles together in #cyf-over-the-wire

Take this Linux 101 course if you are enjoying the puzzles

How to submit

There is no submission step. However, to apply for some roles and some courses (like CYF+ ) you must demonstrate these skills, so it would be a good idea to learn them.

Anything else?

Here’s a ChatGPT prompt you can use to get the best, most helpful learning experience:

Please act as a friendly, warm, straightforward technical mentor. You are an experienced Site Reliability Engineer who uses the terminal regularly and understands all shell commands in bash. You can explain clearly, using English mostly at CEFR B2 level, how to execute shell commands and how to navigate Linux file systems. We will be playing The Bandit, Over the Wire, shell game together. I don’t want you to give me all the answers. I want you to walk me towards the answer, helping me to find out and learn Linux commands, explaining clearly what is happening as we go. Please answer my questions carefully and do not offer code solutions, just explain in English the approach I should take and then review the commands I suggest to you. Say okee dokee if you understand.

And remember: every time ChatGPT offers code you don’t recognise, you must ask “Is this valid” before you continue. ChatGPT makes up invalid code all the time.

  • 🎯 Topic Problem-Solving
  • 🎯 Topic Programming Fundamentals
  • 🏝️ Priority Stretch
  • πŸ¦” Size Tiny
  • πŸ“… Sprint 2
[TECH ED] Prepare for live session πŸ”— Clone

https://curriculum.codeyourfuture.io/cloud/sprints/2/prep/

Why are we doing this?

It is essential to start learning new concepts and ideas before Saturday’s session. During the week, we expect you to get stuck and form questions about the new content so you can address misconceptions during Saturday’s session. The prep work here will introduce you to the new concepts for the week.

You will need to do this prep work before tackling the coursework.

Maximum time in hours (Tech has max 16 per week total)

3

How to get help

Share your blockers in your track channel

https://curriculum.codeyourfuture.io/guides/asking-questions

How to submit

It will be clearly evident if you don’t do the prep. At CYF we come to class prepared.

  • :brain: Prep work
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ”‘ Priority Key
  • πŸ“… Sprint 2
[TECH ED] Docker Compose πŸ”— Clone

https://docs.docker.com/

Why are we doing this?

Research Docker Compose, its syntax and a few examples. Think how it can help you orchestrate your 3 containers for local development, and then create a docker-compose file to use this tool to automatically build, start and network your containers. Find a way to specify dependencies, to ensure that the backend start initialising only when the database is up and running.

If you want, you can experiment with running all 3 components in EC2 via Docker compose, but keep it as an experiment. Think about some advantages and disadvantages of the 2 approaches (all in a docker-compose file inside a EC2 instance vs using multiple managed services such as S3 and RDS)

How to get help

If you are doing this for the first time, this will be hard. You must reach out to volunteers to help you. Your ability to ask for help is actively assessed during this time. Ask good, curious questions with links, code samples, and no screenshots.

https://curriculum.codeyourfuture.io/guides/asking-questions/

You are not expected to be able to complete this module completely independently. You are expected to get help from volunteers.

How to submit

In this advanced module you will demo your work. You may wish to make notes for case studies to add to your portfolio.

  • 🎯 Topic Delivery
  • 🎯 Topic Requirements
  • 🎯 Topic Structuring Data
  • 🎯 Topic Testing
  • 🏝️ Priority Stretch
  • πŸ“… Sprint 2
[TECH ED] Dockerise CYF Hotel πŸ”— Clone

https://docs.docker.com/

Why are we doing this?

Dockerize CYF Hotel

The main aim of this sprint is to become familiar with Docker Concepts and be able to use it to a base level. To achieve this, we’ll keep working on our CYF Hotel.

Prep

Make sure you have completed the prep for this week and your Docker daemon is working correctly before continuing.

Docker Backend

Start working on dockerising your application backend. Create a Dockerfile, set it up for node and replicate your setup and install steps that were manual so far in there. Iterate until you get it to run successfully as a Docker Container locally. Hint: Remember port forwarding!

Once successful, upload your created Docker Image to either your DockerHub account or (advanced) AWS’s ECR.
Once done, Update your EC2 instance to now run your backend as a container. Hint: You will need to set up Docker on the VM itself for this to work

GitHub Pipelines

Once this is done and working fully, time to automate it - rework your Github Actions Workflow to test, build and upload your Docker image, and then deploy the new version to the EC2 machine.

Maximum time in hours

6

How to get help

If you are doing this for the first time, this will be hard. You must reach out to volunteers to help you. Your ability to ask for help is actively assessed during this time. Ask good, curious questions with links, code samples, and no screenshots.

https://curriculum.codeyourfuture.io/guides/asking-questions/

You are not expected to be able to complete this module completely independently. You are expected to get help from volunteers.

How to submit

In this advanced module you will demo your work. You may wish to make notes for case studies to add to your portfolio.

  • 🎯 Topic Delivery
  • 🎯 Topic Requirements
  • 🎯 Topic Structuring Data
  • 🎯 Topic Testing
  • πŸ• Priority Mandatory
  • πŸ”‘ Priority Key
  • πŸ“… Sprint 2
[TECH ED] GitHub Actions for Backend πŸ”— Clone

https://docs.github.com/en/actions

Why are we doing this?

Setup Github Actions for CYF Hotel Backend deployments to EC2

Create GitHub Actions Workflow File: Similar to the frontend, create a new YAML file in your CYF Hotel repository under .github/workflows, and name it appropriately, like backend-ec2-deploy.yml.

Configure AWS and SSH Credentials: Store your AWS and SSH credentials securely using GitHub Secrets. These will be used to authenticate and connect to your EC2 instance.

Write EC2 Deployment Steps: Outline the steps in the YAML file for SSHing into your EC2 instance, pulling the latest code, and restarting your backend service.

Test the Workflow: Like with the frontend, push a change to your repository or manually trigger the workflow from GitHub Actions to ensure that your backend is successfully deployed to the EC2 instance.

Maximum time in hours

4

How to get help

Ask calm, curious questions with links, code samples, and no screenshots.

https://curriculum.codeyourfuture.io/guides/asking-questions/

How to submit

In this advanced module you will demo your work. You may wish to make notes for case studies to add to your portfolio.

  • 🎯 Topic Delivery
  • 🎯 Topic Requirements
  • 🎯 Topic Structuring Data
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… Sprint 2
[TECH ED] GitHub Actions πŸ”— Clone

https://docs.github.com/en/actions

Why are we doing this?

Setup Github Actions for CYF Hotel Frontend deployments to S3

Create GitHub Actions Workflow File: In your CYF Hotel repository, create a new YAML file under the .github/workflows directory. Name it something relevant, like frontend-s3-deploy.yml.

Configure AWS Credentials: Utilize GitHub Secrets to securely store your AWS credentials. These secrets will be used in the GitHub Actions workflow to authenticate against AWS.

Write S3 Deployment Steps: In the YAML file, define the steps to install AWS CLI, configure AWS credentials, and sync your build folder to your S3 bucket.

Test the Workflow: Push a change to your repository or manually run the workflow from the GitHub Actions tab to verify that the S3 deployment works as expected.

Maximum time in hours

2

How to get help

Ask calm, curious questions with links, code samples, and no screenshots.

https://curriculum.codeyourfuture.io/guides/asking-questions/

How to submit

In this advanced module you will demo your work. You may wish to make notes for case studies to add to your portfolio.

  • 🎯 Topic Delivery
  • 🎯 Topic Structuring Data
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… Sprint 2