Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Browse all series

Code-Breaking Workshop

When I finish up work for the day, and switch back to dad mode, my kids love to do these little "code-breaking" worksheets where each letter in a secret message is represented as a symbol. They then refer to an alphabet lookup table, and perform the translation.

There's only one problem... they take me a long time to manually create from scratch on paper. So let's build a kid-friendly web app to automate the entire process!

Progress

Series Info

Episodes
7
Run Time
1h 10m
Difficulty
Intermediate
Last Updated
Nov 3, 2023
Version
Latest

Series Episodes

  1. Episodes (7)
    1. What Are We Building?

      In this mini-series, we will automate the process of creating secret messages using symbols. We will build a web app using Livewire, Laravel, and Tailwind that allows us to type a message and instantly generate the corresponding symbols.
    2. Set Up Laravel, Livewire, and Tailwind

      In this lesson, we begin our project by installing Laravel, Livewire, and Tailwind CSS from the terminal. We then create a layout file, update our Tailwind configuration file, and start our build process. Finally, we create an initial Livewire component, CreateCode, and demonstrate how to increment a value within this component without triggering a full page refresh.
    3. Translate User Input to Symbols

      Let's now add a textarea where users can input their code and have it instantly converted into various symbols. We discuss the need for randomizing the symbols to prevent kids from memorizing the mappings.
    4. Use an Icon Font to Display Text Symbols

      In this lesson, we explore using an icon font to replace letters in a message with corresponding symbols. We learn how to reference the font and dynamically map each letter to a symbol.
    5. Create the Code Legend

      In this episode, we'll create a legend Blade component that provides a lookup-table, of sorts, for the kids. Each letter will map to a symbol.
    6. Prepare a Print-Friendly Layout With CSS

      In this lesson, we will review how to improve the print-specific layout using CSS. At the conclusion, we will print and review our first code-breaking worksheet.
    7. Deploy to Production and Configure DNS

      In this lesson, we make some final layout adjustments to our project and push it up to GitHub to make it available to the world. We also set up a Laracasts subdomain and configure the DNS.

Continue Learning