Welcome to
Fullstack Typescript with TailwindCSS and tRPC Using Modern Features of PostgreSQL
Build type-safe full-stack applications with database-centric strategies
Course Syllabus and Content
This comprehensive course will equip you with the skills and knowledge to build modern full-stack applications using TypeScript, TailwindCSS, tRPC, and PostgreSQL. You will learn how to create a robust and scalable application architecture, from the backend data layer to the frontend UI.
Introduction and Getting Started
7 Lessons1 Hours 5 Minutes
This module provides a walkthough of the setting and configuration so we’re ready to start building. This includes linting, code formatting, testing, npm workspaces, and build scripts. You will learn how to set up a frontend project with React and TailwindCSS, and a backend project with Koa. Finally, you will also set up Schemalint and Kanel to generate types and tRPC to act as the communication layer between backend and frontend.
Introduction
Working with monorepos
Setting up npm workspaces in our mono-repo
Setting up shared TypeScript, ESLint and Prettier configs
Setting up the frontend with Vite, React and Tailwind
Setting up the database schema and migrations
Setting up Koa
Analysis and Design
3 Lessons 10 Minutes
In this module you will learn how to analyze a problem, design data model and UI for it and how to drive the architecture from the two. You will also learn about the considerations when deciding how to architect a solution, how to enable the optimal user journey, and potential future scenarios while creating a suited data model.
Looking into how to analyze a problem and create a product
Sketching the UI
Defining the data model
Modelling with advanced Postgres features
3 Lessons 27 Minutes
In this module you will learn how to use the Postgres range type and enforce data consistency directly in the database.
The power of PostgreSQL ranges
Getting properly started with our database schema
Adding a booking table to our database schema
Frontend UI
5 Lessons 52 Minutes
In this module you will build the UI that the customer is going to use usin Tailwind CSS. The flow will go through the process of booking a session with error handling.
A quick introduction to Tailwind CSS
Turning sketches into code
Handling State in React
Sharing components across packages
Creating the "Choose Date" Page
Endpoints
5 Lessons 44 Minutes
In this module, you will about designing API’s with tRPC and how to implement them. With the data model and UI as drivers, you will also learn which endpoints are required and how to implement them in tRPC.
Setting up tRPC with Koa
Connecting to the tRPC server from the frontend
Refining the tRPC setup
Connecting our tRPC routes to the Database
Generating Zod Schemas
Testing
3 Lessons 42 Minutes
In this module, you will create unit tests of the frontend by mocking the tRPC endpoints using Vitest.
Testing tRPC Endpoints
Testing With the Database
Testing Frontend
Connecting The Dots
3 Lessons 51 Minutes
In this modele, you add some final touches to your app in the form of completing the Select Date page, creating the infrastructure for ranges, and completing the booking process.
Completing the Select Date Page
Setting up infrastructure for Ranges
Completing Booking
Conclusion and extra resources
1 Lesson 1 Minutes
In this module, you will learn about some additional resources realted to auth and security, DevOps, complex methods, and client side routing.
Conclusion and extra resources