Alireza HassaniandCursor 16bc154fb0 Add SEO meta descriptions and a dynamic sitemap.
Expose optional metaDescription for blogs, reportages, and brands in admin/API, apply it on detail pages, and serve an up-to-date /sitemap.xml for approved content plus static site pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 18:37:43 +03:30

NovinTrades

Monorepo for NovinTrades — API, admin dashboard, and public website.

Apps

App Path Description
api apps/api Fastify REST API + PostgreSQL (Prisma)
admin apps/admin Super-admin dashboard
web apps/web Public website

Quick start

# Start Postgres (host port 5433 — 5432 may be used by other projects)
docker compose up -d

# Install dependencies
npm install

# Configure API env
cp .env.example apps/api/.env

# Run migrations + seed admin user
npm run db:migrate
npm run db:seed

# Dev servers
npm run dev:api    # http://localhost:3000
npm run dev:admin  # http://localhost:5173
npm run dev:web    # http://novintrades.local:5174

Default admin (after seed): admin@novintrades.com / admin123

One-VM deploy (overview)

  • Postgres via Docker
  • API via PM2 (or Docker)
  • Admin + web as static builds behind Nginx
  • Route by subdomain or path (api., admin., apex)
S
Description
No description provided
Readme
173 KiB
Languages
TypeScript 75.2%
CSS 24.3%
HTML 0.5%