{"repo":"HongDiep18/commercial-advertising-management-be","free":true,"listed":false,"github":"https://github.com/HongDiep18/commercial-advertising-management-be","clone":"git clone https://github.com/HongDiep18/commercial-advertising-management-be.git","description":"The enterprise REST API backend for a B2B directory platform built with NestJS 11, TypeScript, PostgreSQL 17, and Prisma 7 ORM. Features automated RSS news crawling with OpenAI translation pipelines, PDF invoice generation, Excel data exports, vector-based AI chatbot integration, and Docker deployment.","language":"TypeScript","stars":16,"topics":["docker","jwt-authentication","nestjs","openai","postgresql","prisma","rest-api","rss-crawler","swagger","typescript"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"Commercial advertising — Backend B2B directory platform connecting Chinese-speaking businesses with Vietnam. Architecture Overview Sketch-style overview of how the backend fits together (API, auth, data, news pipeline, and Docker). Tech Stack - NestJS 11 / TypeScript - PostgreSQL 17 - Prisma 7 ORM - JWT Authentication - Swagger API Docs Getting Started Development (Docker, hot reload) Production (Docker) Both modes run entirely in Docker — no need to install Node.js or pnpm locally. Local Development (without Docker for the app) Prisma (Database Schema) After PostgreSQL is running: Notes: - pnpm install automatically runs prisma generate via the postinstall hook. - pnpm build automatically runs prisma generate before compiling. - After editing schema.prisma without migrating, run pnpm prisma generate manually — postinstall only fires on install, not on file changes. - pnpm prisma migrate dev runs prisma generate automatically after applying the migration. Environment Variables Copy .env.example to .env and fill in the values. Variable Description --------------------------- ------------------------------------------------------------ DATABASE URL PostgreSQL connection string for Prisma APP PORT Server port (default: 3000 ) JWT SECRET Secret key for JWT signing INTERNAL API KEY API key for internal/service-to-service endpoints OPENAI API KEY OpenAI key used by the news translator OPENAI MODEL Model name (default: gpt-4o-mini ) NEWS SCHEDULE ENABLED Enable/disable the cron pipe","default_branch":null,"files":null,"tree":[],"storefront":"/r/HongDiep18","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/HongDiep18/commercial-advertising-management-be/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}