[Engineering] Add CI, cross-service tests, documentation, and restore a green baseline
- Dominant language
- TypeScript
- Stars
- 4
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
## Problem
The repository has no GitHub Actions workflow or automated app/backend tests. The README remains the ACM project template without actual setup or architecture instructions.
On the current main snapshot:
- frontend `npx tsc --noEmit` passes;
- backend `npm run build` fails on two TypeScript errors in `activityController.ts`;
- `npm run lint` reports 18 errors and 17 warnings;
- Expo Doctor reports eight patch-version mismatches.
Without a green baseline, integration regressions can merge unnoticed.
## Proposed change
Add CI jobs for:
- frontend typecheck and lint;
- backend build and tests;
- Expo Doctor/dependency compatibility;
- migration validation against PostgreSQL;
- contract tests against the ML OpenAPI schema;
- a service-level smoke test with PostgreSQL, Redis, and Qdrant.
Replace the template README with actual architecture, environment variables, local setup, migrations, test commands, and deployment notes.
## Acceptance criteria
- All current build/lint/Expo issues are resolved or explicitly waived with rationale.
- Every pull request runs frontend, backend, migration, and contract checks.
- At least one end-to-end test covers onboarding → repository ingestion → feed → impression → feedback.
- CI uses pinned runtime/dependency versions and caches safely.
- README setup succeeds from a clean clone without undocumented steps.
- Branch protection can require the new checks.
Contributor guide
Research direction
Start by inspecting the repository's current package scripts, README, and any existing workflow configuration, then run the reported frontend typecheck, backend build, lint, and Expo Doctor commands. Map the proposed checks across frontend, backend, PostgreSQL migrations, the ML OpenAPI contract, and the service-level flow. Done means the acceptance criteria are met, including a clean-clone setup and the specified end-to-end coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, postgresql, redis, typescript
- Domain
- backend, ci-cd, databases, documentation, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100