# Sportiv Authentication SSOT
## Overview
<p>
Auth is a modular authentication system for Sportiv in TypeScript.
</p>
## Tech Stack
- NestJS.
- TypeScript
- JWT
- NATS
- Tapa-MicroMailer (RUST)
- Oauth2
## ETA
### 1,5 Sprint -3 weeks.
- Day 1-2 Research, Mapping
- Day 3-7 Dev
- Day 8-10 integration, Bugfix, reconnect
- Day 11-15 Bugfix, Try Unhappy Flow, Health check, Testing.
## Components
###### progress tag:`DONE`
Register
Login
Refresh
forgetPw
setPw
verifyPw
OTP
Mailer(Outbound)
DB
Documentation
###### progress tag:`IN PROGRESS`
Deployment
testing, core, org ke auth
Reconnect
Description API di Swagger
###### progress tag:`OPEN`
Integration Frontend
## Meeting minutes 3
###### tags: `auth` `Meeting 3`
:::info
- **Location:** Google Meets
- **Date:** March 25, 2021 2:00 PM (WIB)
- **Agenda**
1. Review Auth Component with @yefta `40min`
2. QnA `10min`
3. Init Backend auth to github `5 mins`
- **Participants:**
- Surya (S)
- Oliver Sebastian (OS)
- Yefta Susanto (YS)
- Andika (A)
- **Reference:** - [Last week meeting minute]
:::
### Discussion
Public Private Key pair.
key / certificate gaboleh multiline.
deployment belom tentu bisa multiline.

Refresh REF.
### Blockers
- reconect ke NATS.
- serializer.

## Meeting minutes 2
###### tags: `auth` `Meeting 2`
:::info
- **Location:** Google Meets
- **Date:** March 25, 2021 2:00 PM (WIB)
- **Agenda**
1. Define Auth Component with @andika `25min`
2. QnA `20min`
3. Stateless vs Statefull discussion `5min`
4. Next Step microservice for backend-core `10 min`
- **Participants:**
- Surya (S)
- Oliver Sebastian (OS)
- Andika (A)
- **Reference:** - [Last week meeting minute]
:::
### Artefact

## Meeting minutes 1
###### tags: `auth` `Meeting 1`
:::info
- **Location:** Google Meets
- **Date:** March 10, 2021 1:00 PM (WIB)
- **Agenda**
1. Auth Guidance w/ @yefta `30min`
2. QnA `10min`
3. JWT, NATS, Public, Private Key `10 mins`
- **Participants:**
- Yefta Susanto (YS)
- Surya (S)
- Oliver Sebastian (OS)
- Andika (A)
- Steven (S)
:::
### Discussion
#### Mattermost
Dev: nats.database.svc.cluster.local
Prod: nats.database-prod.svc.cluster.local
Tapi ini ga bisa diakses dari luar cluster Kube.
Untuk local development bisa ikutin README di https://github.com/sportivapp/tapa-micro-mailer/tree/main/example untuk nge start micro-mailer + NATS di local.