Learn How To Build a SaaS Product From Scratch
25+ hours of content teaching you everything from authentication, design, payments, security and more.
The Curriculum
25 hours of video across 17 modules of in-depth content
Architecture Of a SaaS Application
- Understanding client & server
- What is an API?
- Understanding Model-View-Controller
- Single or multi-tenant SaaS?
- Features of a SaaS app
Building Your Stack
- Does tech stack matter?
- Why use Javascript?
- Which framework is best?
- Setting up the project
- Configuring the development environment
Data Modelling
- Why start with data?
- Relational or non-relational data?
- Data modelling tools
- Designing data models
- Normalisation, Foreign Keys & Cascades
Controllers & Models
- Scaffolding the models
- CRUD anatomy
- ORMs and query builders
- Creating the models & controllers
- Security considerations
Building a REST API
- What is a REST API?
- Building the API
- Global error handling
- Throttling for security
- Testing with Postman
Authentication Part 1 (Server-Side)
- Issuing JWT auth tokens
- Sign up and sign in flows
- Protecting API endpoints
- User roles and permissions
- Creating scoped API keys
Email Notifications
- Setting up Mailgun
- Building a mail module
- Avoid HTML table hell with JSON emails
- Allowing users to customise email settings
- Sending email notifications to users
Authentication Part 2 (Client-Side)
- Client authentication best practices
- Client routing & private routes
- Sign in and Sign up flows
- Forgot password flow
- Sign out flow
Bonus: UI Design School
- Layout
- Colour
- Scale
- Typography
- Iconography
User Management
- Understanding organisations and users
- Building a user admin UI
- Building a user invite flow
- The user sign up flow
- Multi-organisation logic
Build a SaaS Billing System With Stripe
- Creating the billing UI
- Upgrading, downgrading & cancelling
- Updating the credit cards
- Secure Customer Authentication (SCA)
- Implementing free trials
Creating a Profile Page With Photo Uploads
- Creating the public profile page
- Creating the photo uploader
- Storing photos in Amazon S3
- Designing a photo grid
- Photo detail page with comments
Building The Dashboard
- Building a SaaS dashboard
- Create the API key admin UI
- Tracking photo views
- Add photo metrics
- Building a help view
Testing
- Why you should test
- Types of tests
- Writing unit tests
- Writing integration tests
- UI & user testing
SaaS Security Practices
- Keep packages up to date
- Preventing XSS attacks
- Content security policies
- Understanding CORS
- Database security
Deploying a SaaS Application
- Choosing a hosting platform
- Configuring the production environment
- Database SSL certificates
- Deploying to Heroku
- Building a deployment pipeline
Next Steps
- Advanced features to consider
- Launching your app
- Marketing your app
- Building an audience
- Feedback