Interactive roadmap

    Full Stack Developer roadmap

    For aspiring developers wanting to build complete web products. You will learn to build responsive interfaces, create backend APIs, manage databases, and deploy live applications.

    Your progress0% · 0 of 21 topics
    Done Learning Skipped OptionalClick any topic to learn more and mark your progress.
    1. 1

      Modern Front End Foundations

      0 of 5 done

      Learn to build responsive and interactive user interfaces.

      Take your time with HTML and CSS layouts before jumping into JavaScript frameworks, as a solid visual foundation makes everything easier.
    2. 2

      Server-Side and APIs

      0 of 4 done

      Create backend servers to handle logic and serve data.

      Build simple routes first, test them thoroughly with a tool like Postman or curl, and add complexity gradually.
    3. 3

      Databases and Data Storage

      0 of 4 done

      Store, organise, and query information reliably across your applications.

      Draw your data tables or document structures on paper before writing code to spot missing relationships early.
    4. 4

      Authentication and Security

      0 of 4 done

      Protect user accounts and secure application data from common threats.

      Never write your own cryptography code; always use established, well-tested libraries for passwords and tokens.
    5. 5

      Deployment and DevOps Basics

      0 of 4 done

      Ship your web applications so anyone can access them online.

      Commit your code changes frequently with clear messages so you can easily track down when a bug was introduced.

    Learn it all, with a tutor that never sleeps

    Every topic links to LevelUp lessons, practice exercises and the 24/7 AI Tutor. Your progress updates as you master lessons.

    Every topic explained

    Step 1: Modern Front End Foundations

    HTML structures page content, while CSS handles layouts and visual presentation across different screen sizes.
    Read more

    HTML provides the core structure for your web pages using meaningful tags like articles and buttons, while CSS controls how those elements look across phones and laptops. Think of HTML as the skeleton of a house and CSS as the paint and interior design.

    For example, styling a contact form makes it look neat on both a mobile screen and a wide desktop monitor. This matters because clean, responsive styling ensures your users enjoy a smooth experience no matter what device they use.

    • Use semantic tags for better accessibility
    • Flexbox helps align items easily
    • Media queries adapt layouts for mobile
    MDN Web Docs (Mozilla)
    JavaScript adds interactivity to web pages, letting you handle clicks, fetch data, and update content dynamically.
    Read more

    JavaScript brings web pages to life by allowing you to listen for user actions, fetch data from servers, and update the display instantly. It acts like the nervous system of your website, reacting to clicks and typing.

    Imagine a shopping basket that updates its total price instantly when you add a new item without reloading the page. This topic matters because JavaScript is the primary language used to build interactive features on the modern web.

    • Variables store values and data
    • Functions run reusable blocks of code
    • Event listeners respond to user actions
    JavaScript Guide (MDN)
    React is a popular library for breaking user interfaces into reusable, independent components that update efficiently.
    Read more

    React is a popular JavaScript library that helps you build user interfaces out of small, reusable pieces called components. Instead of managing a whole page at once, you break it down into manageable chunks like navigation bars and product cards.

    Think of it like building with toy bricks where each brick is a self-contained component you can reuse anywhere. This matters because component-based design keeps your code organised as your web applications grow.

    • Components are reusable UI building blocks
    • Props pass data down to components
    • JSX combines JavaScript and HTML
    React Documentation (React)
    Manage dynamic data across your application using component state so the user interface stays in sync.
    Read more

    State management handles the dynamic data inside your application, keeping your user interface perfectly in sync with user actions. When data changes, React updates the screen automatically to reflect those updates.

    Consider a dark mode toggle switch that flips your app colours instantly when clicked. This matters because managing state correctly prevents your app from showing outdated information to users.

    • Use useState to track changing data
    • State updates trigger re-renders
    • Lift state up to share between components
    (optional)
    TypeScript adds type checking to JavaScript, helping you catch typos and logical bugs before your code runs.
    Read more

    TypeScript adds static typing to JavaScript, meaning it checks your code for mistakes before you even run it in the browser. It acts like a helpful spelling checker for your programming logic.

    For instance, if you accidentally try to treat a piece of text as a number, TypeScript flags the error immediately. This matters because it saves you hours of debugging by catching typos and data type mismatches early.

    • Types define expected data shapes
    • Interfaces describe object properties
    • Catches bugs during coding time
    TypeScript Documentation (Microsoft)

    Step 2: Server-Side and APIs

    Node.js runs JavaScript on the server, and Express simplifies routing requests and delivering responses.
    Read more

    Node.js allows you to run JavaScript on a server rather than just inside a web browser, and Express is a lightweight framework that makes setting up a server simple. Together they let you handle incoming web traffic efficiently.

    Imagine a restaurant receptionist taking customer orders at the front door and passing them to the kitchen. This matters because it gives you the power to build your own custom backend servers using JavaScript.

    • Node.js runs JavaScript outside browsers
    • Express simplifies server routing
    • Middleware handles requests sequentially
    Node.js Documentation (OpenJS Foundation) · Express Documentation (Express)
    REST provides standard conventions for exchanging data between client browsers and backend servers using HTTP methods.
    Read more

    REST provides a standard set of rules for how client browsers and backend servers communicate using everyday HTTP methods like get and post. It creates a predictable structure for fetching and saving information.

    Think of it like using standard postal addresses so delivery drivers always know where to drop off parcels. This matters because a well-designed REST API makes it easy for front-end apps and mobile apps to talk to your server.

    • Use GET to retrieve data safely
    • Use POST to create new records
    • Use clear URL paths for resources
    Learn how servers accept incoming data payloads, manage query parameters, and return appropriate status codes.
    Read more

    Handling requests and responses involves reading incoming data payloads, checking URL query parameters, and sending back the correct HTTP status codes. It ensures both sides of the application understand each other clearly.

    For example, returning a 404 status code when a user requests a profile page that does not exist. This matters because proper status codes tell the client application whether an action succeeded or failed.

    • Access request bodies and parameters
    • Send appropriate status codes
    • Return JSON data to clients
    Check incoming request data to ensure inputs are correct and prevent malformed data from breaking your application.
    Read more

    Server-side data validation checks incoming user inputs before processing them to ensure they meet your application rules. Never trust data coming directly from the client browser.

    Imagine a hotel receptionist checking that a booking form has a valid email address before saving the reservation. This matters because validation stops broken or malicious data from crashing your server or database.

    • Always validate inputs on the server
    • Check for missing or empty fields
    • Reject invalid data with clear messages

    Step 3: Databases and Data Storage

    Relational databases store information in structured tables linked by keys, queried using standard SQL syntax.
    Read more

    Relational databases store information in structured tables with rows and columns, linked together using keys and queried with SQL. They keep data organised and consistent across your application.

    Think of a spreadsheet where users have their own table linked to their specific orders. This matters because relational databases are reliable and ideal for managing complex, connected data.

    • Tables organise data into rows
    • Foreign keys connect related tables
    • SQL queries retrieve specific records
    PostgreSQL Documentation (PostgreSQL)
    (optional)
    Document databases store flexible JSON-like records, which can be useful when your data structures change frequently.
    Read more

    Document databases store information as flexible JSON-like records rather than rigid tables, making them great for data that changes often. You can store nested details inside a single record easily.

    Imagine a user profile where preferences or settings can change without needing to alter a strict database schema. This matters because it gives you flexibility when building rapid prototypes or handling unstructured data.

    • Stores data in flexible JSON formats
    • No rigid table schemas required
    • Great for rapid product iteration
    MongoDB Documentation (MongoDB)
    Object-relational mappers let you query your database using regular JavaScript objects instead of writing raw SQL.
    Read more

    Object-relational mappers let you interact with your database using regular programming objects and methods instead of writing raw SQL queries. They bridge the gap between your code and your database.

    Think of it as a translator who converts your everyday language into database commands. This matters because ORMs speed up development and help keep your database queries consistent.

    • Use code objects instead of raw SQL
    • Simplifies database queries and saves
    • Handles data relationships smoothly
    Prisma Documentation (Prisma)
    Design clear database schemas that connect related data items, like users and their orders, without duplication.
    Read more

    Data modelling is the process of planning how your application data relates together and flows through your storage systems. Good models prevent duplicate information and keep queries fast.

    Consider how an online shop links customers, products, and categories so items do not get mixed up. This matters because poor data models lead to slow applications and messy code as your project grows.

    • Plan relationships before writing code
    • Avoid duplicating stored data
    • Keep schemas clean and scalable

    Step 4: Authentication and Security

    Never store plain passwords. Use cryptographic hashing libraries to protect user credentials securely in your database.
    Read more

    Password hashing transforms user passwords into secure, scrambled strings before saving them to your database, making them unreadable even if data is leaked. It is a vital practice for user privacy.

    Think of it like sending a message through a shredder that cannot be put back together in reverse. This matters because storing plain text passwords puts your users at severe risk if a security breach occurs.

    • Never store plain text passwords
    • Use strong hashing libraries like bcrypt
    • Salting adds random data for security
    Track logged-in users across repeated requests using secure browser cookies or JSON Web Tokens.
    Read more

    Session management and JSON Web Tokens help your server remember who is logged in across multiple requests. Because HTTP is stateless, tokens act like digital wristbands at an event.

    Imagine showing a festival pass to security guards each time you enter a new stage area. This matters because it allows users to navigate your app securely without logging in on every click.

    • Tokens verify logged-in user identity
    • Store tokens securely on the client
    • Validate tokens on protected routes
    Protect your server against common security risks, including cross-origin requests, rate abuse, and injection attacks.
    Read more

    Securing your web APIs involves protecting your server against common attacks such as malicious injections and cross-origin request abuse. It ensures your backend remains stable and trustworthy.

    Think of putting security guards and metal detectors at the entrance of a public building. This matters because unprotected APIs are frequent targets for automated bot attacks and data theft.

    • Sanitise inputs to prevent injection
    • Configure CORS for trusted domains
    • Limit request rates to stop abuse
    OWASP Top Ten (OWASP)
    (optional)
    Control what authenticated users are allowed to see and modify based on their assigned permissions.
    Read more

    Authorisation checks whether an authenticated user has the correct permissions to perform specific actions or view certain pages. Authentication proves who you are, while authorisation proves what you can do.

    Consider an office building where standard staff can enter workspaces, but only managers can access the finance room. This matters because it stops regular users from accessing admin controls or sensitive data.

    • Check user roles before sensitive actions
    • Separate regular users from admins
    • Deny access by default

    Step 5: Deployment and DevOps Basics

    Track code changes over time, collaborate cleanly with teammates, and safely revert unintended mistakes.
    Read more

    Git tracks changes to your source code over time, allowing you to experiment safely, revert mistakes, and collaborate with other developers. It acts as a reliable time machine for your project files.

    Think of it as taking snapshots of a painting every time you add a new layer of detail. This matters because version control is an essential professional skill used on every modern development team.

    • Commit changes with clear messages
    • Use branches to test new features
    • Push code to remote repositories
    Git Documentation (Git)
    Store sensitive secrets like database credentials and API keys outside your public code repository.
    Read more

    Environment configuration stores sensitive secrets like database passwords and API keys safely outside your public code repository. It keeps confidential data out of version control.

    Think of keeping your house keys in a secure lockbox rather than taped to the front door. This matters because accidentally publishing API keys online can lead to stolen accounts or surprise cloud bills.

    • Keep secrets in local env files
    • Add env files to gitignore
    • Access variables via process.env
    Deploy full-stack applications to modern cloud platforms to make them publicly accessible to real users.
    Read more

    Cloud hosting platforms take your full-stack application and make it accessible to real users over the internet via public web addresses. They manage the underlying servers so you do not have to.

    Think of renting a furnished apartment instead of building a house from scratch. This matters because it is the final step in turning your local code project into a live product anyone can use.

    • Deploy front end and back end
    • Connect live cloud databases
    • Monitor uptime and application logs
    (optional)
    Automate running tests and deploying updates every time you push new code to your repository.
    Read more

    Continuous integration and deployment pipelines automate running tests and publishing updates every time you push new code to your repository. They remove manual steps from releasing software.

    Imagine an automated assembly line that checks car parts for defects before sending them to the showroom. This matters because automation saves time and catches bugs before they reach your live users.

    • Automate running tests on push
    • Streamline software release updates
    • Catch deployment errors early

    Related roadmaps