/** * Tracker Service — Fastify server entry point. * * Modules: items, comments, votes. * Port: 4004 (configurable via PORT env var). * Product-agnostic: all data scoped by productId. */ import { createServiceApp, startService } from '@bytelyst/fastify-core'; import { itemRoutes } from './modules/items/routes.js'; import { commentRoutes } from './modules/comments/routes.js'; import { voteRoutes } from './modules/votes/routes.js'; import { publicRoutes } from './modules/public/routes.js'; import { config } from './lib/config.js'; const app = await createServiceApp({ name: 'tracker-service', version: '0.1.0', description: 'Feature requests, bugs, tasks — product-agnostic', corsOrigin: config.CORS_ORIGIN, swagger: { title: 'Tracker Service', description: 'Feature requests, bugs, tasks — product-agnostic', port: config.PORT, }, metrics: true, }); // Register route modules await app.register(itemRoutes, { prefix: '/api' }); await app.register(commentRoutes, { prefix: '/api' }); await app.register(voteRoutes, { prefix: '/api' }); await app.register(publicRoutes, { prefix: '/api' }); await startService(app, { port: config.PORT, host: config.HOST });