You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Database: Surreal DB
Host: Docker
Lang: TS, node
Communication: RabbitMQ
Mailing Service: MailGun
Web Server: SvelteKit (Prefferable)/SolidJS SSR
Plan
Verification Process:
flowchart LR
Client -.-> DiscordJS
Email --> MailGun --> Client
VS -.- Client
subgraph Backend
DiscordJS -->|RabbitMQ| Email
Email[Email Handler] -->|RabbitMQ| VS
VS -->|RabbitMQ| Email
VS --> DB[DB Handler]
DB --> DiscordJS
VS -->|RabbitMQ| DiscordJS
VS[Verification WebServer]
end
Loading
Step By Step:
Init
User enters email in Discord
Discord JS checks if email is verified (email is busy / user is already registered)
if not:
Discord JS sends user's email to Email Handler
Email Handler requests verification link from verification web server
verification web server creates a db record in pending db
Email Handler recieves verification link
Email Handler sends verification email via mailgun
Confirm
User clicks the link
Webserver moves record from pending to main
Webserver sends request to DiscordJS to change user's Role to verified
Update
Discord JS changes user's role and nickname (if specified)
Db record
string tag; (ex. RIGIK93#2549)
string email; (ex. something@example.com)
string name; (name specified in the email)
Date createdAt;