Image Upload & Thumbnails Tutorial · Module 01 of 11

Foundations & Project Setup

Build the foundation for an image upload service. Create a Git repo, set up Node.js, design the database schema for images and thumbnails, and scaffold the API. By the end, you'll have a working skeleton ready for file handling.

~3–4 hrsBeginnerSetup focus
← Back to Module 01 overview
What You'll Have at the End

Definition of Done

  • Git repository initialized with Node.js 20, TypeScript, ESLint, Prettier.
  • PostgreSQL database with schema: images, thumbnails, uploads.
  • Express server with health check endpoint.
  • Design doc explaining image storage strategy, thumbnail sizes, and processing pipeline.
  • README with quick start and architecture overview.
  • All changes committed to git.
The Steps

Build It

STEP 1

Initialize project and dependencies

mkdir image-upload-service
cd image-upload-service
git init
npm init -y
npm install express multer sharp postgres pino uuid dotenv
npm install --save-dev typescript @types/node @types/express @types/multer \
  eslint prettier ts-node nodemon