Escrito el 26/08/2024

Proyecto Swagger Comparator

Diseño del proyecto Swagger Comparator.

Objetivo

Notificar al usuario de los cambios que ocurran en una API que está utilizando.

Problema a solucionar

Muchas veces se usan APIs de terceros para nuestras y pasado cierto tiempo, cambian. La applicación empieza a fallar porque la API cambió. Se necesita algo que prevenga esos casos.

Casos de Usos

Listado de casos de uso:

Subscribir

Diagramas

Diagrama de proceso de negocio

Se ilustra el proceso desde el punto de vista de gente de negocio. Sin palabras técnicas.

Frontend
Subscribe button
Backedn
Request url content
Calculate Hash
Save Copy
subscribed
Store in DB
END
URL
openapi.json
DB
File Storage
subscriber data
User
email
and
url

Diagrama conceptual

Una visión general y de alto nivel sobre cómo funcionará la feature. A nivel de arquitectura abstrayendo componentes del sistema.

User
Frontend
Subscribe View
SubscribiersService
Backend
SubscriberHandler
Shared
Init
OpenAPI Server

Diagrama de componentes

Diagramas de más bajo nivel y técnico que detalla los componentes que existen y cómo van a interactuar entre ellos.

API
SubscriberHandler
Shared
JsonChecker
SwaggerComparator
Subscribers
DataAccess
EmailSender
FilesDataAccess
GoogleDrive
SpreadSheet
SDK
Drive SDK
Resend
api.resend
IsJson(openapi url)
Init
hash
subscriber
email, openapi url, unsubscribe url
url, filecontent
email
openapi.json
User
json
open api's server

Diagramas de más bajo nivel y técnico que detalla los componentes que existen y cómo van a interactuar entre ellos.

Desubscribir

Diagramas

Diagrama de proceso de negocio

Se ilustra el proceso desde el punto de vista de gente de negocio. Sin palabras técnicas

Frontend
Unsubscribe button
Backedn
Request url content
unsubscribed
Remove from DB
END
URL
openapi.json
DB
subscriber data
User
email
and
url

Diagrama conceptual

Una visión general y de alto nivel sobre cómo funcionará la feature. A nivel de arquitectura abstrayendo componentes del sistema.

User
Frontend
Unsubscribe View
SubscribersService
Backend
UnsubscriberHandler
OpenAPI Server

Diagrama de componentes

Diagramas de más bajo nivel y técnico que detalla los componentes que existen y cómo van a interactuar entre ellos.

API
UnsubscriberHandler
Shared
JsonChecker
FilesDataAccess
Subscribers
DataAccess
GoogleDrive
Drive SDK
SpreadSheet
SDK
IsJson(openapi url)
url, filecontent
subscriber
email
openapi.json
User
json
open api's server

Ejecutar proceso de Notificacion

Diagramas

Diagrama de proceso de negocio

Se ilustra el proceso desde el punto de vista de gente de negocio. Sin palabras técnicas

Backedn
END
Get all subscribers
Request url content
Hash content
Yes
No
Are 
changes?
Send Notification Email
Update subscriber data
URL
openapi.json
cron job

Diagrama conceptual

Una visión general y de alto nivel sobre cómo funcionará la feature. A nivel de arquitectura abstrayendo componentes del sistema.

Backend
NotificationExecuteHandler
OpenAPI Server
cron job
Shared
Init

Diagrama de componentes

Diagramas de más bajo nivel y técnico que detalla los componentes que existen y cómo van a interactuar entre ellos.

json
API
NotificationExecuteHandler
Shared
JsonChecker
SwaggerComparator
Subscribers
DataAccess
EmailSender
FilesDataAccess
GoogleDrive
SpreadSheet
SDK
Drive SDK
Resend
api.resend
IsJson(openapi url)
Are 
Equals
Match
subscriber
email, openapi url, unsubscribe url
url, filecontent
SendNotification
open api's server
cron job