EasySaaS is a starter repository for building SaaS applications using NestJS, with a focus on identity and security. It can also be used as an identity microservice in enterprise solutions.
- User authentication and authorization
- Role-based access control
- Secure password storage
- Multi-tenancy support
- Plans and subscription management
- NestJS
- TypeORM
- Passport.js
- JWT
- bcrypt
- Jest
- Swagger
- PostgreSQL
- Redis
The project structure is organized as follows:
easy-saas/
βββ src/
β βββ common/
β β βββ decorators/
β β βββ enums/
β β βββ filters/
β β βββ guards/
β β βββ interceptors/
β β βββ pipes/
β β βββ utils/
| |
β βββ config/
β β βββ data-source.ts
| |
β βββ db/
β β βββ migrations/
β β
β βββ modules/
| |
β βββ shared/
β β βββ dtos/
β β βββ entities/
β β βββ interfaces/
β β
β βββ main.js
β βββ app.module.js
βββ .env
βββ package.json
βββ tsconfig.json
βββ README.md
-
Clone the repository:
git clone git@github.com:odainasser/easy-saas.git cd easy-saas -
Install dependencies:
npm install
-
Run migrations:
npm run migration:run
-
Start the application:
npm run start