Common features
Explore the template's built-in modules and common features, including configuration, usage, and pre-launch checks.
About this chapter
This chapter covers modules and features the template already implements, focusing on configuration, usage, and pre-launch checks. It does not explain how to implement these features from scratch or provide a sequence for building a product. If you are new to the Saavo template, start with the tutorial overview.
How to read these guides
Each article follows the sequence below. Learn how the existing implementation works first, then decide which settings to change and which business code to write.
What the template provides
Pages, APIs, Services, and underlying services that are ready to use.
Default configuration and behavior
What is currently enabled in the repository and how it behaves by default.
Configuration to change
Domains, credentials, product rules, and example content you need to replace.
Integrating your business logic
Which Services, Guards, Reactions, Repositories, or APIs to use so you do not reimplement existing functionality.
Pre-launch checks
Verify normal flows, failure cases, and production configuration to confirm that the feature works.
Modules
These modules have relatively complete pages, APIs, and data flows. Enable or adjust them to suit your product.
Authentication and accounts
Handle sign-up, sign-in, email verification, password resets, OAuth sign-in, and two-factor authentication.
Permissions and entitlements
Control feature access through roles, capabilities, dynamic entitlements, and usage quotas.
Payments and plans
Configure Stripe Checkout, subscriptions, one-time purchases, the billing portal, and payment statuses.
Tickets and support
Provide user tickets, conversations, attachments, status transitions, and administrative handling.
Analytics
Learn about first-party data collection, the analytics dashboard, data retention policies, and third-party analytics services.
OAuth 2.0 authorization server
Manage OAuth clients, scopes, authorization codes, access tokens, revocation, and introspection.
Affiliate program
Manage referrals, commission records, monthly settlements, and payout details.
Cookie consent
Let users choose separately whether to accept preference, analytics, and marketing cookies.
Blog
Publish multilingual articles and manage drafts, archives, and content collections.
Documentation
Use Fumadocs to manage navigation, MDX components, and multilingual documentation.
Admin dashboard
Manage users, payments, permissions, logs, analytics, and other business data in one place.
Features
These features primarily support business modules and can also be reused when developing new functionality.
Internationalization
Configure UI languages, multilingual routes, localized copy, and server-side translation.
Scheduled tasks
Use Cloudflare Cron Triggers to trigger and dispatch tasks on a schedule.
File storage
Upload, read, and clean up files with R2 or KV, and configure expiration.
Send template emails through Cloudflare Email or Resend and limit sending frequency.
Notifications
Send in-app notifications or connect external channels such as Slack, Discord, and Telegram.
Coupon offers
Select a preconfigured Stripe Coupon through a dedicated link, display discounted prices, and apply it automatically at checkout.
Background jobs
Learn about Queue, Reaction Commands, and job retries, idempotency, and failure recovery.
Where to start
Start with authentication and accounts, permissions and entitlements, and payments and plans. Then read the other articles as your product requires. If you already know what you want to build, go directly to Common development scenarios to find the corresponding approach.