AOSSIE-Org / AOSSIE-Org/Resonate-Backend

Refactor controllers to reduce business-logic coupling (starting with create-room)

Open
#150 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
43
Forks
120
PR merge metrics
No merged PRs in 30d

Description

- Context
Certain backend controllers nowadays include extensive business logic.
which is tightly integrated with HTTP processing in a domain and makes testing
and, hence, management.

- exemple concret
In `functions/create-room/src/main.js`, the
- Creates room metadata based on input parameters
- Calls LiveKit to create a room
- Stores room data with Appwrite
There is a blending of handling requests and orchestrating business domains.

- Proposal
As a first, well-scoped step:
- Abstract room creation logic into a service/use case. Keep the controller concerned with request parsing and response handling. This will be a non-breaking refactor**, starting with one controller. I will proceed further with examples only if I receive feedback on what I

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.