FoundationsBeginner3h

Dev environment setup.

Running client, server, and database together locally.

What is a full-stack dev environment?

It is everything running together on your machine: the frontend dev server, the backend API, and a local database, all talking to each other. A smooth setup lets you change any layer and see the result immediately across the whole app.

Why it matters

Full-stack work means juggling multiple processes, and a painful setup taxes you every single day. Getting client, server, and database to run together reliably — and reproducibly for teammates — removes constant friction and is the baseline for productive development.

What to learn

  • Running multiple processes (client, server, db)
  • A local database via Docker or a managed dev instance
  • Environment variables for local config
  • Proxying or CORS so the client reaches the server
  • Hot reload across the stack
  • Scripts to start everything with one command
  • Making the setup reproducible for a teammate

Common pitfall

A setup only you can run, with undocumented steps and manual database seeding. A new teammate (or future you on a new machine) loses a day getting started. Script the setup, document the prerequisites, and use Docker for the database so "clone and run one command" actually works.

Resources

Primary (free):

Practice

Set up a project where one command starts the frontend, the backend, and a local database (Docker is easiest for the db), with environment variables wiring them together. Confirm a code change in any layer hot-reloads. Done when a fresh clone runs with a single documented command.

Outcomes

  • Run client, server, and database together locally.
  • Wire them with environment variables and a proxy.
  • Get hot reload working across the stack.
  • Make the setup reproducible with one command.
Back to Full-Stack roadmap