Codebase Map
Repository Map
Section titled “Repository Map”agora-tutoring-api/ src/ api/ modules/ # business domains (user, post, chat, payment, etc.) loaders/ # batching/caching support for resolvers directives/ # GraphQL custom directives scalars/ # GraphQL scalar implementations schema.js # assembled GraphQL schema database/ models/ # data models plugins/ # model plugins/hooks validators/ # validation rules jobs/ # background job logic webhooks/ # external callback handlers (Stripe, Jira) helpers/ # domain helper utilities utilities/ # shared utility functions templates/ # email templates index.js # app bootstrapKey Domain Areas
Section titled “Key Domain Areas”vieweranduser: authentication/account profile behaviorpostandpin: listing/discovery contentchatandmessage: real-time communication featurespaymentandsubscription-plan: billing and subscription flowsreportBug,reportSafety,contact: support and operations workflows
Data Access Pattern
Section titled “Data Access Pattern”Typical resolver flow:
- Resolver receives GraphQL request.
- Resolver uses loaders/helpers/models.
- Model and plugin logic executes.
- Response is shaped and returned to client.
This pattern keeps GraphQL concerns separate from data-layer implementation details.