An open API service indexing awesome lists of open source software.

https://github.com/hojongs/paint-app-server


https://github.com/hojongs/paint-app-server

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

        

# Paint Application Server

## Features

- Authentication
- Email Registration
- User Identification
- PaintSession
- Create
- Join
- Create as private
- PaintEvent
- Share and Display with other users in Session
- Log & Replay

```
,----------------------------------------.
,----------------------------------. |PaintSessionController |
|PaintUserController | |----------------------------------------|
|----------------------------------| |paintSessionService: PaintSessionService| ,------------------------------------.
|paintUserService: PaintUserService| |----------------------------------------| |PaintEventController |
|----------------------------------| |createSession(): Mono | |------------------------------------|
|createUser(): Mono | |listSession(): Mono | |paintEventService: PaintEventService|
|signInUser(): Mono | |joinSession(): Mono | |------------------------------------|
|getUser(): Mono | |exitSession(): Mono | |notifyEvent(): Mono |
|deleteUser(): Mono | |disableSession(): Mono | `------------------------------------'
`----------------------------------' |replaySession(): Flux | |
| `----------------------------------------' |
| | |
| | |
| ,----------------------------------------------. |
,----------------------------------------. |PaintSessionService | |
|PaintUserService | |----------------------------------------------| ,------------------------------------------.
|----------------------------------------| |paintSessionRepository: PaintSessionRepository| |PaintEventService |
|paintUserRepository: PaintUserRepository| |----------------------------------------------| |------------------------------------------|
|----------------------------------------| |createSession(): Mono | |paintEventRepository: PaintEventRepository|
|createUser(): Mono | |listSession(): Mono | |------------------------------------------|
|signInUser(): Mono | |joinSession(): Mono | |notifyEvent(): Mono |
|getUser(): Mono | |exitSession(): Mono | `------------------------------------------'
|deleteUser(): Mono | |disableSession(): Mono | |
`----------------------------------------' |replaySession(): Flux | |
| `----------------------------------------------' |
| | |
,---------------------------. ,------------------------------. ,----------------------------.
|PaintUserRepository | |PaintSessionRepository | |PaintEventRepository |
|---------------------------| |------------------------------| |----------------------------|
|---------------------------| |------------------------------| |----------------------------|
|save(): Mono | |save(): Mono | |save(): Mono |
|findById(): Mono| |findById(): Mono| |findById(): Mono|
`---------------------------' `------------------------------' `----------------------------'
```

```puml
PaintUserController o-- PaintUserService
PaintUserService o-- PaintUserRepository

class PaintUserController {
paintUserService: PaintUserService
createUser(): Mono
signInUser(): Mono
getUser(): Mono
deleteUser(): Mono
}
class PaintUserService {
paintUserRepository: PaintUserRepository
createUser(): Mono
signInUser(): Mono
getUser(): Mono
deleteUser(): Mono
}
class PaintUserRepository {
save(): Mono
findById(): Mono
}

PaintSessionController o-- PaintSessionService
PaintSessionService o-- PaintSessionRepository

class PaintSessionController {
paintSessionService: PaintSessionService
createSession(): Mono
listSession(): Mono
joinSession(): Mono
exitSession(): Mono
disableSession(): Mono
replaySession(): Flux
}
class PaintSessionService {
paintSessionRepository: PaintSessionRepository
createSession(): Mono
listSession(): Mono
joinSession(): Mono
exitSession(): Mono
disableSession(): Mono
replaySession(): Flux
}
class PaintSessionRepository {
save(): Mono
findById(): Mono
}

PaintEventController o-- PaintEventService
PaintEventService o-- PaintEventRepository

class PaintEventController {
paintEventService: PaintEventService
notifyEvent(): Mono
}
class PaintEventService {
paintEventRepository: PaintEventRepository
notifyEvent(): Mono
}
class PaintEventRepository {
save(): Mono
findById(): Mono
}
```