Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/muratdemirci/ts-multi-tenancy-rest-api-boilerplate
This project is a Single Sign-On (SSO) REST API with Multi-Tenancy, constructed using Node.js and TypeScript.
https://github.com/muratdemirci/ts-multi-tenancy-rest-api-boilerplate
boilerplate multitenancy nodejs rest-api typescript
Last synced: 5 days ago
JSON representation
This project is a Single Sign-On (SSO) REST API with Multi-Tenancy, constructed using Node.js and TypeScript.
- Host: GitHub
- URL: https://github.com/muratdemirci/ts-multi-tenancy-rest-api-boilerplate
- Owner: muratdemirci
- Created: 2024-04-18T09:34:23.000Z (9 months ago)
- Default Branch: dio
- Last Pushed: 2024-04-29T23:07:05.000Z (8 months ago)
- Last Synced: 2024-05-01T17:40:44.472Z (8 months ago)
- Topics: boilerplate, multitenancy, nodejs, rest-api, typescript
- Language: TypeScript
- Homepage:
- Size: 1.01 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NodeJs TypeScript SSO Rest API
![algo thumbnail logo](./assets/social/sso-thumbnail-min.png)
This project is a Single Sign-On (SSO) REST API with Multi-Tenancy, constructed using Node.js and TypeScript.## Description
The SSO API is a project that allows users to authenticate once and gain access to the resources of multiple software systems.
## Getting Started
### Prerequisites
- Node.js
- TypeScript
- PostgreSQL (or any database you prefer, just make sure to install the corresponding driver)### Installation
1. Clone the repository
2. Install the dependencies with `npm install`
3. Copy `.env.example` to `.env` and fill in your database credentials and other configurations
4. Run the migrations with `npm run migration:run`
5. Build the project with `npm run build`
6. Start the server with `npm run start`## Scripts
- `npm run test`: Runs the tests (currently not specified)
- `npm run prebuild`: Removes the `dist/` directory
- `npm run build`: Compiles TypeScript files into JavaScript
- `npm run watch-ts`: Watches for changes in TypeScript files
- `npm run start-ts`: Starts the server from the compiled JavaScript files
- `npm run start`: Builds and starts the server
- `npm run dev`: Starts the server in development mode with nodemon
- `npm run create`: Creates a new TypeORM migration
- `npm run migration:generate`: Generates a new TypeORM migration
- `npm run migration:create`: Creates a new TypeORM migration
- `npm run migration:run`: Runs the TypeORM migrations
- `npm run migration:revert`: Reverts the last TypeORM migration## Dependencies
This project uses several dependencies, including:
- `bcrypt` for password hashing
- `jsonwebtoken` for JWT handling
- `typeorm` for ORM
- `zod` for schema validation
- `express` for the server
- `dotenv` for environment variable management
- `winston` for logging## Author
Murat Demirci