Thullo Backend and Infraestructure
by Hector Martin Dama · 12/3/2024
This is a project based on the challenges page devChallenges applying best practices such as Hexagonal Architecture, DDD (Domain-Driven Design) and Event-Drive Architecture with the Express and TypeScript framework.
GitHub Template
To facilitate the development of this application we are going to use the typescript-ddd-skeleton template from CodelyTV. To be able to use it here you have to go to this repository and click on the Use this template button, this will create a repository with the template.
Basic Infrastructure
Auth Infrastructure
Database
Notification Microservice Infrastructure
Case of use
Activity User Registration Microservice Infrastructure
Records in a SQLite database all changes/actions performed on a dashboard by a specific user.
Records the following actions:
| Action | Event name |
|---|---|
| Create the board | board.created |
| Change the background | board.changedBackground |
| Add member in a board | board.addedMember |
| Change the visibility of the board | board.changedVisibility |
| Delete board | board.deleted |
| Create list | list.created |
| Delete list | list.deleted |
| Create task | task.created |
| Add cover in a task | task.addedCover |
| Add label in a task | task.addedLabel |
| Add attachment in a task | task.addedAttachment |
| Move task in another list | task.updatedPosition |
Get the data
Deployment to production
| Stack | Site | Price |
|---|---|---|
| Backend | Render | Free |
| MongoDB Database | MongoAtlas | Free |
| RabbitMQ | CloudAMQP | Free |
| Frontend | Cloudflare Pages | Free |