How To Build a SaaS Product – Kyle Gawley
Learn How To Build a SaaS Product From Scratch: 25+ hours of content teaching you everything from authentication, design, payments, security and more.
Building a SaaS Product Is Hard
There’s a lot to build:
- Secure authentication
- Billing and payments
- User interface design
- Organisations, users and roles
- APIs and communications
- Tests & security
- Plus lots more
In this course you will:
- Learn how to build a SaaS product from scratch
- Level up your skills with industry-standard knowledge
- Eliminate the pain of learning how to build a SaaS product
- Learn by step-by-step code video walkthroughs
- Create an Instagram-style photo-sharing app with React & Node.js
What You’ll Learn In How To Build a SaaS Product
1 – 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
2 – Building Your Stack
- Does tech stack matter?
- Why use Javascript?
- Which framework is best?
- Setting up the project
- Configuring the development environment
3 – Data Modelling
- Why start with data?
- Relational or non-relational data?
- Data modelling tools
- Designing data models
- Normalisation, Foreign Keys & Cascades
4 – Controllers & Models
- Scaffolding the models
- CRUD anatomy
- ORMs and query builders
- Creating the models & controllers
- Security considerations
5 – Building a REST API
- What is a REST API?
- Building the API
- Global error handling
- Throttling for security
- Testing with Postman
6 – 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
7 – 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
8 – 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
9 – Bonus: UI Design School
- Layout
- Colour
- Scale
- Typography
- Iconography
10 – User Management
- Understanding organisations and users
- Building a user admin UI
- Building a user invite flow
- The user sign up flow
- Multi-organisation logic
11 – 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
12 – 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
13 – Building The Dashboard
- Building a SaaS dashboard
- Create the API key admin UI
- Tracking photo views
- Add photo metrics
- Building a help view
14 – Testing
- Why you should test
- Types of tests
- Writing unit tests
- Writing integration tests
- UI & user testing
15 – SaaS Security Practices
- Keep packages up to date
- Preventing XSS attacks
- Content security policies
- Understanding CORS
- Database security
16 – Deploying a SaaS Application
- Choosing a hosting platform
- Configuring the production environment
- Database SSL certificates
- Deploying to Heroku
- Building a deployment pipeline
17 – Next Steps
- Advanced features to consider
- Launching your app
- Marketing your app
- Building an audience
- Feedback
More courses from the same author: Kyle Gawley