Files
..

Dyolink — Backend (NestJS)

Prerequisites

  • Node.js 20+ and npm
  • PostgreSQL reachable from your machine (local or remote)

First-time setup

  1. Clone the monorepo and go to the backend app:

    git clone <repository-url> dyolink
    cd dyolink/backend
    
  2. Install dependencies

    npm install
    
  3. Environment

    Copy .env.example to .env and set at least:

    • DATABASE_URL — PostgreSQL connection string for your dev database
    • JWT_SECRET — strong secret for signing tokens
      Do not commit .env.
  4. Database URL for local dev

    Point DATABASE_URL at a database you created in Postgres (create an empty DB first if needed).

  5. Generate Prisma Client

    npm run prisma:generate
    
  6. Apply migrations (creates/updates tables to match prisma/schema.prisma)

    npm run prisma:migrate
    

    This runs prisma migrate dev. Use it during development when the schema changes.

  7. Seed (optional — sample data / bootstrap)

    npm run prisma:seed
    

Run (development)

npm run start:dev

API listens on http://localhost:3000 by default (PORT in .env).

If the frontend runs on another origin (e.g. http://localhost:3001), set CORS_ORIGIN in .env to that URL.

After pulling latest main

git pull
npm install
npm run prisma:generate
npm run prisma:migrate

If teammates added migrations, step 4 applies them. Resolve migration conflicts locally before pushing.

Useful commands

Command Purpose
npm run prisma:generate Regenerate client after schema.prisma changes
npm run prisma:migrate Dev migrations (migrate dev)
npm run prisma:deploy Production-style apply (migrate deploy) — e.g. CI/containers
npm run build Compile Nest app
npm run start:prod Run compiled app (node dist/main)

Docker

Image build is defined in Dockerfile at this folder. For full-stack deployment and CI, see the repository root README.md.