Fullstack JourneyUse provable hands-on experience to get ahead of the competition even when your CV doesn't represent your skills. Ace your technical interview. Get hired.
To the Cloud and BeyondIt's time to deploy an application to a Kubernetes cluster using kubectl and Helm
Let It SinkSometimes, you’re being asked to implement a new feature that has implications on both the frontend, the backend, the API, and the database. And if the feature was requested by your new CEO, you have no choice but to comply. Let it sink in, then go do what you’re told!
RobocropWhat do we we do when product images are missing? Generative AI for the win! Thanks to the DALL-E API, we can automatically create those missing images.
Strawberry FieldsA famous Beatles song starts with “One, two, three, four; No one I think is in my tree”. Could that have been a database reference? Ah, I suppose it’s nothing to get hung on. In this quest, you will practice a common task most developers are required to do frequently: adding a new field to an existing data model, migrating old data to the updated model, and supporting the new field in the UI and the API. Let me take you down.
Faster! Faster!API query slowing your horses? Don’t feel bad, it’s not your fault. It can happen to anyone. OK, maybe it is your fault, but we won’t tell anyone. And after this quest, you’ll know how to fix it! In this quest, you will investigate a slow API request, query, identify the root cause, and find a solution.
Watching The WatchmenWe have some clarity when problems arise, but we also want to know what’s going on in our system and what went wrong. In this quest, you will add a log monitoring tool to improve visibility into what is happening in the application’s production environment.
As You Wish!Let’s take a break from doing things and, instead, plan to do things. Only maybe planning is doing as well? Anyway, in this quest you will conduct a design review for a new feature by understanding the requirements, planning how to implement them. You will need to weigh the pros and cons of different possible solutions, and select the best one.
Get in LineOh no, resizing files takes too much time, and we don’t want our users to wait! This probably should be done asynchronously. And if you say “async”, I think “queue” that saves the files and processes them. Your goal in this quest is to optimize the current image upload process, make it more robust and improve the user experience.
A Matter of SizeThe problem with getting others to give you free content is that it may backfire if they give you too much. In this quest, you will work on both the frontend and backend of the application to reduce storage consumption and improve user experience by adding image resizing and compression functionality.
A Thousand WordsCreating content is most cost-effective when others are willing to give it to you for free. Images are a good example. In this quest, you will learn how to add image uploading capabilities to the application. You will work with the application’s frontend, backend, database, and a third-party image upload service.
AsynchronyWhat do you do when you roll out a shiny new feature and it doesn’t work? One thing goes wrong and then everything goes out of sync. In this quest, you will learn how to identify and resolve asynchrony issues in the application.
Search PartyWhen frontend and backend talk to each other, magic happens. Or, like, regular website functionality happens. In this quest, you’ll tie the pieces together, have your UI communicate with the backend, and interact with the database. By doing this, you’ll learn the basics of a full-stack feature implementation.
Fixing a BugBugs are unavoidable. Sometimes, ignoring them isn’t really an option, and no amount of procrastination can make them disappear. The solution? Find the bug, then squash it! This is what we’ll be doing here, complete with the sense of accomplishment upon witnessing your success.
DataseedingSome think it’s not prudent to run tests or replicate bugs using production databases. Cowards! But as sometimes they’re bound to be the decision-makers, we need to learn how to populate a local DB with mock data. In the process, you will learn good engineering practices, which will come in handy throughout your career.