Engineering foundations, explained clearly.
The knowledge behind Padlor — a structured, practical path through the concepts real engineers use every day, from HTTP to architecture.
It is an expanding library. We publish the full outline so you can see where it is going, and write it module by module — 57 topics are readable now, and the rest are marked as planned. Everything published is finished writing; nothing here is a stub.
The Foundation 100
The full outline, ten modules deep. Each card shows how much of that module is written and ready to read.
Web Fundamentals
How the web works — HTTP, REST, authentication, and the core request and response building blocks every backend shares.
Node.js & Express Foundations
Running JavaScript on the server and building HTTP APIs with Node.js and Express.
Database & Prisma Foundations
Relational data modelling with PostgreSQL and type-safe access through Prisma.
API Design & Backend Patterns
Designing clean, evolvable APIs — DTOs, pagination, versioning, and the patterns behind them.
React Foundations
Building user interfaces with components, props, state, and the core mechanics of React.
Frontend Architecture
Structuring real React applications — routing, state management, data fetching, and performance.
Testing & Quality
Testing strategy and code quality — from unit tests to end-to-end, plus linting and reviews.
Git & Collaboration
Version control and team workflow — branching, merging, pull requests, and releases.
DevOps & Deployment
Shipping software — containers, pipelines, configuration, and safe deployment.
Software Engineering & Architecture
Principles and patterns for designing systems that scale and endure.
Explore by technology
All technologies →Recently added
Media Queries
A way to apply CSS rules only when a condition about the display holds — most often a minimum width — so a layout can change as the space available changes.
CSS Styling and Properties
Learn how CSS controls the appearance of HTML elements, how CSS rules are written, and how common properties are used to style text, colors, spacing, sizing, borders, backgrounds, layouts, and interactive states.
Deploying a Web Project to Netlify
Building a web project on your computer is only the beginning. Deployment makes that project available on the internet so that other people can open it in a browser. In this topic, you will learn how to deploy a web project to Netlify and turn a project on your computer into a live website with a shareable web address. You will learn two common approaches: Manual deployment — upload your project directly to Netlify. GitHub deployment — connect a GitHub repository to Netlify so Netlify can deploy the project from your repository. You will also learn the basic ideas behind hosting, deployment, publish directories, build commands, deployment updates, and common beginner deployment problems. The examples can be applied to simple HTML/CSS/JavaScript projects such as calculators, games, and small websites, as well as other frontend projects that Netlify supports.
Publishing Your Project to GitHub
Git helps you track the history of your project on your computer. GitHub gives you a place to store that Git repository online, making your project easier to back up, share, and access from other computers. In this topic, you will learn how to create a GitHub repository, connect it to an existing local project, commit your changes, and publish those commits to GitHub. You will also learn the difference between Git and GitHub, understand what a remote repository is, and see how Git clients such as GitHub Desktop, VS Code, and the Git command line can be used to perform the same workflow. The examples use a small project such as a JavaScript calculator so you can see the complete journey from a project on your computer to a project stored on GitHub.
React Components
The building block of a React app: a function that returns markup describing a piece of the UI, which you compose together to build whole screens.
HTTP
How clients and servers communicate on the web through stateless request and response messages made of methods, paths, headers, and status codes.