Serverless for Frontend Developers

Upcoming

No classes scheduled

Upcoming

No classes scheduled

For Winston, a frontend developer, the backend is the kraken, a cephalopod-like giant monster, hard to understand and impossible to pet! Yet, often, he wants to be able to build a small pet project end-to-end or be able to implement a backend feature that blocks his big frontend release, while the backend team is chasing their priorities. Winston tried Express.js, which wasn't so scary, proceeded in building a few simple apps using Firebase, and loved GraphQL. But now, Winston doesn't know what to do next.

On the other side, Margaret is a full stack developer. She has many ideas and projects, but cloning yourself is still not so publicly available and acceptable in 2020. Margaret built a popular web app a year ago, and that first place at Product Hunt escalated quickly; her excellent web app crashed when many users tried to use it at the same time. And how do you even scale these viral things in production? Do you need to learn Kubernetes or something similar?

Both Margaret and Winston are part of Timothy's new team at the Flying Circus Corporation. Tim is a cloud-native pioneer who wants to modernize the company's old-fashioned infrastructure. He knows that serverless is no longer limited to cloud-native early adopters or niche use cases. On the contrary, serverless functions are now in widespread use across a variety of companies with an infrastructure footprint in AWS. Or at least that was told (oops, did I say 'sold'?) to him on his complementary trip to AWS Re:Invent.

Margaret and Winston have one goal, to connect serverless with other modern technologies, such as GraphQL, and build a foundation for the next-generation services at the Flying Circus Corporation.

Schedule

Week 1

A short introduction to serverless for frontend developers [Lecture]
Introduction to AWS Amplify [Lecture]
Setup a base React application [Demo + Exercise]
Setup AWS Amplify and your AWS account [Lecture + Exercise]
Add auth - learn what's Amazon Cognito and how to use it with AWS Amplify [Lecture + Exercise]

Week 2

Intro to GraphQL [Lecture]
Add GraphQL backend and design GraphQL schema [Lecture + Exercise]
Connect GraphQL backend to a React app [Demo + Exercise]
Test the app locally and deploy the app to AWS infrastructure [Lecture + Exercise]
Add real-time meetup subscription capabilities [Lecture + Exercise]

Week 3

Add fine-grained permissions [Lecture + Exercise]
Review other Amplify capabilities [Lecture]
Add image upload to your app [Lecture + Exercise]
Add basic machine learning [Lecture + Exercise]

Week 4

Learn how to extend an AWS Amplify app and connect it with other AWS services [Lecture + Exercises]
Using Amazon AppSync directly with AWS Amplify frontend libraries [Lecture + Exercise]
Strategies for testing Amplify apps [Lecture]

Course Modules

The class takes place over 4 weeks, with an average time committment of 4-5 hours per week. Each week will follow this structure:

Mondays: Lectures and exercises released via the HomeSchool platform; you'll need to be logged in to access this.

All week: Peer chat and exercise sharing via Discord server with your instructor and class cohort.

Thursday evening, 10pm and Friday morning, 10am CET: Live recap and Q&A sessions (~1 hour) with the instructors. Exercise answers released.

The Q&A session is streamed within the HomeSchool platform, with questions submitted via Discord. All questions are logged and a timecode for the start of the answer is shared on the platform after the stream ends. The Q&A sessions are viewable permanently afterwards, in case you miss them.

All course materials are permanently available on your HomeSchool account after they've been released.

What you'll need...

A brief list of what you will need to do this class:

  • A basic understanding of Amazon Web Services (AWS) and how it works.
  • Experience with at least one modern frontend framework. The examples from this course will use React.
  • A laptop with a browser and a terminal emulator.
  • A code editor or IDE. e.g., VS Code, Sublime, Vim, Emacs, Visual Studio, IntelliJ, etc.
  • An active AWS account. All examples will work on the AWS Free Tier if you have a new account.

Who it's for...

This workshop is built for "Margarets" and "Winstons" -- frontend and full-stack developers, as well as:

Frontend developers using React or any other modern frontend framework. You have used GraphQL and know the basics, but you haven't yet built a production-ready GraphQL server. You have use Firebase or similar backend-as-a-service apps.

Full stack developers using JavaScript and Node.js. You know the basics of GraphQL, and have used it a few times. You know basic concepts for any backend-as-a-service platform, whether you've used serverless before or not.

Backend developers who are probably even more experienced with GraphQL than Slobodan or Alex! You know JavaScript and Node.js, but you are not a big fan of CSS. You are focused on results, not the technology itself. You know about serverless, and you want to learn how to use it to build real-world projects.

Makers whose only focus is to build an excellent product. You'll use all tools that will get there fast. You are familiar with JavaScript, Node.js, and GraphQL.

CTO/VPs of Engineering who want to drive software delivery. You want to build both your product and your team for the next decade.