NX monorepo workspace with the landing page, platform frontend, and API in the same repository
isomera — Next.js SaaS Template
By cortip
Isomera is an NX monorepo-based JavaScript/TypeScript SaaS starter template that includes a Next.js landing page, a React platform frontend, and a Nest.js API, under the MIT license.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Combination of a Next.js landing page, React platform frontend, and Nest.js API
TypeORM with database migration commands; DTOs, interfaces, and utility functions as shared libraries
React Query manages application data; Formik and class-validator handle form validation
Includes Swagger API documentation, Compodoc API docs, Prettier, linting, CI, and tests
Provides a production Dockerfile and supports separate deployment of the API and workers
Template Details
Isomera is an open-source SaaS starter template maintained by cortip. The repository is organized as an NX monorepo, placing the landing page, platform frontend, and API in a single workspace. The landing page uses Next.js, the platform frontend uses React, the API uses Nest.js, the data layer uses TypeORM, and database migration commands are provided. Shared libraries hold DTOs, interfaces, and utility functions; React Query handles application data storage, while Formik and class-validator handle form validation. The repository provides Swagger API documentation and Compodoc-generated API docs, includes Prettier, linting, CI, and test configurations, and offers a production Dockerfile, with support for deploying the API and workers separately.
Implemented features include: email registration and login, password reset, enabling 2FA, editing basic profile information (name and avatar), and transactional emails with templates (separating production and development environments). The ToDo list in the README outlines directions not yet completed, such as Google/Facebook/Apple/Microsoft and phone number login, organization member invitations, organization role management, organization ownership transfer, organization-level 2FA enforcement, deleting organizations and accounts, object storage integration such as S3, WebSocket notifications, GDPR compliance, SQS queues and tasks, Redis/Memcached caching, development environment SSL, and stricter timezone timestamp rules. These items are planned or to-do and do not mean the template currently has the corresponding capabilities.
Local development requires installing docker and docker-compose. Use nx commands to start the API (8080), platform (4200), and landing page (3030) separately. Tests are run with nx run-many for test and e2e. The code is under the MIT license, allowing free use, modification, commercial use, and distribution, but third-party assets such as demo images, fonts, and icons, as well as external services such as domains, hosting, databases, payments, or AI, require separate license and cost verification.
Is it right for your project?
Use Cases
- Projects that need to organize a landing page, SaaS platform frontend, and API as an NX monorepo
- Teams that want to directly use existing features such as email registration and login, password reset, 2FA, and basic profile editing
- Development that continues on top of TypeORM migrations, shared DTO/interface libraries, and a React Query data layer
- Teams that need reference configurations for separate API and worker deployment and a production Dockerfile
Suitable For
- Developers familiar with TypeScript, React, Next.js, and Nest.js
- Teams that accept a monorepo structure and are willing to organize development around NX commands
- Projects that need a SaaS starting codebase that can be modified and used commercially under the MIT license
- Teams that can fill in unfinished features such as organization roles, third-party login, object storage, and queue caching themselves
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Local development requires installing docker and docker-compose
- 2
Use nx run api:serve to start the API (8080), nx run platform:serve to start the platform (4200), and nx run landing:serve to start the landing page (3030)
- 3
Tests are run with nx run-many -- -t test and nx run-many -- -t e2e
- 4
Create a migration with nx run api:migration-create --name <name>, and run migrations with nx run api:migration-run
- 5
The MIT license covers only this version of the code; third-party assets such as demo images, fonts, and icons, as well as external services, require separate license and cost verification
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.
Must comply with when using
- Allows free use, modification, commercial use, and distribution of this version of the code.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Local development must install docker and docker-compose; otherwise the project cannot run.
- Google/Facebook/Apple/Microsoft third-party login is not yet implemented and is a to-do feature, unavailable in the current version.
- Phone number login is not yet implemented and is planned to depend on the Twillio external service, unavailable in the current version.
- S3 or other object storage integration is not yet implemented; you must integrate it yourself and bear the corresponding external service costs.
- Redis/Memcached caching is not yet implemented; you must integrate it yourself and bear the corresponding external service costs.
- SQS queues and tasks are not yet implemented; high-load support must be integrated yourself and bear the corresponding external service costs.
- Roles and access management are not yet implemented; organization role-related capabilities are unavailable in the current version.
- GDPR compliance is not yet implemented; you must complete compliance work yourself when serving EU users.
- WebSocket notifications and updates are not yet implemented, unavailable in the current version.
- Development environment SSL is not yet implemented; local HTTPS must be configured yourself.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
You will need to install `docker` and `docker-compose` (if not in the same package) to be able to work on this project.
Original README
- [ ] User can Sign Up & Sign In using Google, Facebook, Apple or Microsoft
Original README
- [ ] User can Sign Up & Sign In using phone number (Twillio)
Original README
- [ ] Connect S3 or other object bucket
Original README
- [ ] Redis & Memcached for caching + tooling in code
Original README
- [ ] SQS queue and jobs - support heavy load
Original README
- [ ] Easy solution for roles and access management
Original README
- [ ] GDPR compliance
Original README
- [ ] Websockets for notifications and updates
Original README
https://github.com/cortip/isomera/blob/main/LICENSEhttps://github.com/cortip/isomera/blob/main/README.md- [ ] SSL in development
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 86 / 100
- Technologies
- Next.js · React
- Website type
- SaaS · Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2024-12-08
- Screenshot last checked
- 2026-10-01
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 371fe0197f1a85914527dea62e0973dc7cb39053ad640c5c25b78ef1a66b1fbb
2026-10-01T01:20:31.691Z
Source file / repository<br />
<br />
<p align="center">
<img src='docs/assets/logo.svg' alt='Isomera' width='120px' />
</p>
<br />
<br />
### Introduction video 👇👇👇
<a href="https://www.youtube.com/watch?v=PZcMe6XzdLM" target="_blank">

</a>
# ISOMERA: The Ultimate Javascript/Typescript SaaS Boilerplate Monorepo for Modern Developers
Unlock the future of seamless SaaS development with ISOMERA, the
all-encompassing Javascript/Typescript starter boilerplate monorepo. Designed
for visionary developers, ISOMERA streamlines the creation of enterprise-grade
applications by providing a robust, modular, and scalable foundation. Whether
you're kickstarting a project with React, Next, Nest, or diving deep into
TypeORM, React Query, and Material UI, our platform is your ticket to
efficiency. Beyond a mere boilerplate, ISOMERA offers comprehensive
documentation, training materials, and a community-driven approach. Contribute
to the revolution, join a community of like-minded developers, and redefine the
standards of SaaS development.
Every developer understands the journey: starting with basic functionalities
and, over time, integrating advanced features like 2FA, role management, or
intricate middleware logic. At the outset, it might seem manageable, but as your
project scales and evolves, these additions can accumulate into months of
development time. Not to mention the effort spent ensuring earlier work
seamlessly integrates with new features. With ISOMERA, this narrative changes.
While not every feature on our ToDo list is immediate, our roadmap is designed
with foresight. As your project matures, ISOMERA grows with you, offering
advanced functionalities just when you need them. It's not just about the
initial boost; it's about the cumulative time and effort saved over the life of
your project. Dive straight into innovation, knowing the foundational and
advanced are already taken care of.
#### 🌟 Join the ISOMERA Revolution as an Open-Source Contributor! 🌟
Are you passionate about shaping the future of SaaS development? Looking for a
platform where your expertise can make a real difference? Welcome to ISOMERA! As
an open-source project, we believe in the collective genius of the developer
community. Your insights, skills, and dedication can help elevate ISOMERA to new
heights. Whether you're a seasoned expert or a newcomer eager to learn, there's
a space here for you. Dive into our code, collaborate with like-minded
innovators, and let's co-create the ultimate Javascript/Typescript boilerplate
for the next generation. Join the ISOMERA family and let's craft the future, one
line of code at a time. 🚀
## Thanks to our sponsors
<p align="center" style="text-align: center;">
<a href="https://www.cortip.com" target="_blank" style="text-decoration: none;"><img src="https://raw.githubusercontent.com/cortip/isomera/main/docs/assets/sponsors/cortip.png" width="200" alt="Cortip" /></a>
<a href="https://www.atlassian.com" target="_blank" style="text-decoration: none;"><img src="https://raw.githubusercontent.com/cortip/isomera/main/docs/assets/sponsors/atlassian.png" width="200" alt="Atlassian" /></a>
<a href="https://sentry.io" target="_blank" style="text-decoration: none;"><img src="https://raw.githubusercontent.com/cortip/isomera/main/docs/assets/sponsors/sentry.png" width="200" alt="Sentry" /></a>
</p>
## Preview
- Landing page https://www.isomera.org/
- Platform https://app.isomera.org/
- Documentation https://doc.isomera.org/overview.html
## Links
- Blog https://isomera.blog
- Youtube https://www.youtube.com/@isomera
- LinkedIn https://www.linkedin.com/company/isomera
- Discord https://discord.gg/T3CBgm8yPT
## Tutorials
- Brief introduction into projects structure
https://isomera.blog/project-structure-philosophy-and-hot-to-run-isomera-2023-12-08/
## Content
- [Global Configuration & Options](docs/Configuration.md)
## Goals
- Keep this starter project updated and aligned with best practices.
- Produce training materials to simplify your startup process.
- Maintain a streamlined UI, offering flexibility to choose between SCSS, Styled
Components, Material UI, or Tailwind for your designs.
## Libraries pick
- TypeScript
- React
- React Query
- Next.js
- Nest.js
- TypeORM
- Formik
- Class-validator (for Formik validations & DTOs)
- Luxon
## SDLC ToDo
- [ ] Documentation: Getting Started
- [ ] Documentation: Going to Production
- [ ] Training video on how to get started
- [ ] Training video on best practices
## Technical ToDo
- [x] NX monorepo workspace
- [x] Landing page with Next.js
- [x] CI & Tests
- [x] Prettier & Linting
- [x] Generated documentation for API with Compodoc
- [x] Swagger for API endpoints
- [x] DTO as shared lib
- [x] React Query for app data storage
- [x] Interfaces as shared lib
- [x] Utils as shared lib (for example time formatting)
- [x] TypeORM & DB migrations
- [ ] Plan a strict rules for timestamps (this is frequent problem for projects
where users has to interact across multiple timezones)
- [ ] Connect S3 or other object bucket
- [x] Production Dockerfiles
- [ ] SSL in development
- [x] Transactional emails and templates (prod/dev)
- [ ] Websockets for notifications and updates
- [ ] GDPR compliance
- [ ] Easy solution for roles and access management
- [ ] SQS queue and jobs - support heavy load
- [ ] Redis & Memcached for caching + tooling in code
- [x] Production split for api and workers to allow better control on
auto-scaling
- [ ] ...
## Features plan
- [x] User can Sign Up & Sign In using email
- [ ] User can Sign Up & Sign In using Google, Facebook, Apple or Microsoft
- [ ] User can Sign Up & Sign In using phone number (Twillio)
- [x] User can reset password
- [ ] User can invite other team members to organization (org created for every
user, if it's not needed, should be easy to disable or just ignore)
- [ ] User can enter company details to organization (for future billing)
- [ ] User can manage roles for team (OrgOwner, OrgAdmin, OrgManager,
OrgFinance, OrgAnalytic, OrgSupport, OrgUser, OrgReadonly, OrgClientVIP,
OrgClient)
- [ ] User can transfer organization ownership
- [x] User can enable 2FA
- [ ] User can enforce 2FA for organization users
- [x] User can edit basic profile details (name, photo)
- [ ] User can delete organization
- [ ] User can delete account
- [ ] ...
## Developing locally
### Getting started
#### Environment preparation
You will need to install `docker` and `docker-compose` (if not in the same
package) to be able to work on this project.
### Running Tests
This is pretty simple, just
```
nx run-many -- -t test
```
```
nx run-many -- -t e2e
```
### Running services
#### Run API locally
This will launch API service on port 8080:
```
nx run api:serve
```
This will launch platform on port 4200:
```
nx run platform:serve
```
This will launch landing on port 3030:
```
nx landing:serve
```
## REPL for Nest.js
```
npm run start -- --watch --entryFile repl
```
## Database
To create new migration, use this command:
`nx run api:migration-create --name awesome-migration`
_awesome-migration_ is the name of migration ;)
(if you forget to add `--name` flag, it will create new file in src dir)
And run this command to run all your migrations
`nx run api:migration-run`
## Contributors
The "Contribution Leaderboard" ranks users based on the number of commits they
have made in their pull requests, displaying them in descending order. <be />
<p align="center">
<a href="https://cdn.jsdelivr.net/gh/cortip/isomera_contributors@main/.github-contributors/cortip_isomera.svg">
<img src="https://cdn.jsdelivr.net/gh/cortip/isomera_contributors@main/.github-contributors/cortip_isomera.svg" />
</a>
</p>
Explore similar templates
Compare previews and descriptions within the same stack and category.

Next.js SaaS Starter
The official Next.js SaaS starter template, integrating email/password authentication, Stripe Checkout subscriptions, a dashboard with user/team CRUD, basic Owner/Member RBAC, and activity logging.
Next.js · SaaS

Next.js Commerce
Vercel's officially maintained Next.js App Router ecommerce starter with deep Shopify integration, offering a complete product catalog, cart, and checkout flow. Core logic is modular for swapping backends, and community provider versions exist for BigCommerce, Medusa, and Saleor.
Next.js · E-commerce

Next-js-Boilerplate
A developer-first Next.js 16 starter with Tailwind CSS 4 and TypeScript, supporting both App Router and Page Router.
Next.js · Starter

tailwind-nextjs-starter-blog
A Next.js and Tailwind CSS blog starter template using Contentlayer for Markdown/MDX, with built-in SEO, code highlighting, and tags. It targets personal technical blogs and migration from Jekyll/Hugo to React, and supports one-click Vercel deployment.
Next.js · Blog

next-forge
next-forge is a Turborepo-based Next.js template maintained by Vercel, positioned as a starting point for SaaS products.
Next.js · Starter

SaaS-Boilerplate
SaaS-Boilerplate is an open-source SaaS starter template built with Next.js App Router, React 19, TypeScript, Tailwind CSS, and Shadcn UI.
Next.js · SaaS
