No description
- TypeScript 92.6%
- JavaScript 5.8%
- Shell 1.3%
- Dockerfile 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
CI / check-and-build (push) Successful in 49s
Reviewed-on: #7 |
||
| .forgejo/workflows | ||
| .opencode | ||
| docs | ||
| scripts | ||
| sql | ||
| src | ||
| test | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .prettierrc | ||
| AGENTS.md | ||
| AI_PROFILES.md | ||
| CHANGELOG.md | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| nest-cli.json | ||
| orval.config.mjs | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| renovate.json | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
Слово.Проповеди — Backend API
NestJS 10 + TypeORM + PostgreSQL + MinIO backend for «Слово.Проповеди» — the API powering the
public site, the admin SPA and the mobile client. Repository root is the former backend/ of the
slovo-propovedi-admin monorepo, now a standalone repository.
Documentation
Architectural and operational documentation lives in docs/ (in Russian) — start with
docs/README.md, which is the index and the hard rules for agents.
- Agent guide:
AGENTS.md— read this first when working in this repo. - REST contract & codegen pipeline:
docs/contracts/rest-api.md. The spec itself is external, in theslovo-propovedi-docsrepo, published athttps://docs.slovo-propovedi.ru/openAPI.yaml. - Contract source of truth = generated validation schemas (
src/generated/index.ts); the spec version lives in the externalopenAPI.yaml. - DB schema:
docs/db.md. Architecture:docs/architecture.md.
Documentation rules:
- Update
docs/**in the same PR as the code change — a code change without a docs update is incomplete. - Every backend module is documented in
docs/modules/<name>.md. - Generated code in
src/generated/is never hand-edited — only regenerated vianpm run gen:schemas.
Installation
$ npm install
Running the app
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
Test
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
License
Private / UNLICENSED (see package.json).