Effect: Beginners Complete Getting Started

Author Sandro Maglione

Sandro Maglione

Contact me

effect is the missing standard library for TypeScript. effect provides everything that you need to build type-safe production typescript applications.

Course content

This course will guide you from 0 knowledge of effect to build your first API with Runtime, Layer, Config and more. It shows you how to implement a single API request using effect.

This may sound simple, but in reality you need to account for a lot of configurations and possible errors. effect makes everything type-safe, maintainable, testable:

  • Error handling
  • Configuration (environmental variables)
  • Mocking and testing (dependency injection)
  • Organizing and composing services

How the course is organized

The course is organized in small self-contained lessons. Each lesson introduces 1 single new concept.

We will explore why using plain fetch and Promise is not enough. For each problem we explore the solution offered by effect, how it works, why it's needed, and how it integrates with the other modules to build a complete app.

Course outline

These are some of the concepts you will learn:

  • Creating and running effects (Effect type)
  • Type safe error handling
  • How to use pipe and gen to compose effects
  • How to use @effect/schema to parse request responses
  • Manage environmental variables with the Config module
  • Testing and mocking using dependency injection
  • Composing services using Context and Layer
  • How to build your custom runtime using ManagedRuntime

We will learn these step by step. Every new module or API will be introduced only when required, specifically when implementing a missing feature of solving a problem with the app.