Infrastructure and Services
Service Inventory (Plain English)
Section titled “Service Inventory (Plain English)”Heroku
Section titled “Heroku”- Purpose: runs the backend API in hosted environments.
- Evidence in repo:
.github/workflows/deploy.ymldeploys selected branches/environments to Heroku apps.
MongoDB
Section titled “MongoDB”- Purpose: primary database for users, posts, messages, chats, subscriptions, and other app entities.
- Evidence in repo:
src/database/models/*, test workflow starts MongoDB service.
- Purpose: supports real-time/event patterns (for example pub/sub-backed behavior).
- Evidence in repo: Redis service is started in CI tests, and project includes Redis/pubsub packages.
Firebase (Auth Emulator + Admin SDK)
Section titled “Firebase (Auth Emulator + Admin SDK)”- Purpose: authentication-related workflows and local auth emulation for tests/dev.
- Evidence in repo:
start:emulatorand test scripts run Firebase Auth emulator; utilities include Firebase admin setup.
Stripe
Section titled “Stripe”- Purpose: payment/subscription events.
- Evidence in repo:
/stripewebhook route insrc/server.js, payment module/resolvers insrc/api/modules/payment/.
SendGrid / Email stack
Section titled “SendGrid / Email stack”- Purpose: transactional and notification emails.
- Evidence in repo:
src/templates/*.hbs,src/helpers/sendgridmail.js, mail helpers/utilities.
Jira webhook integration
Section titled “Jira webhook integration”- Purpose: integrates bug/safety workflow automation.
- Evidence in repo:
/jirawebhook route andsrc/webhooks/jira.js.
GitHub Actions
Section titled “GitHub Actions”- Purpose: automated linting, testing, and deployments.
- Evidence in repo:
.github/workflows/lint.yml,test.yml,deploy.yml.
Quality and Developer Tooling
Section titled “Quality and Developer Tooling”- Purpose: runs checks before code is committed.
- Current behavior in this repo: pre-commit runs
npm test. - Value: catches failing tests before changes are shared.
ESLint
Section titled “ESLint”- Purpose: static analysis for JavaScript code quality and consistency.
- Current behavior in this repo: lint script and CI lint workflow.
- Purpose: automated tests for backend behavior.
- Current behavior in this repo: PR test workflow with service dependencies.