Files
fakemoney/server/src/index.ts
2026-03-07 13:53:46 +01:00

36 lines
1.1 KiB
TypeScript

import express, { Express, Request, Response } from "express";
import cors from "cors";
import transactionsRouter from './routes/transactions';
import authRouter from './routes/auth';
import { db, testConnection } from "./util/db";
import { logger } from "./util/logging";
const app: Express = express();
app.use(cors());
app.use(express.json());
app.get("/api/health", (req: Request, res: Response) => {
res.json({ status: "OK" });
});
app.use('/api/transactions', transactionsRouter);
app.use('/api/auth', authRouter);
const PORT: number = parseInt(process.env.PORT as string) || 3000;
// Start server after DB connection is established
async function startServer() {
await testConnection(); // Test DB connection first
// Sync models (use migrations in production!)
await db.sync({ alter: true }); // Use { force: true } to drop and recreate tables (development only!)
app.listen(PORT, () => {
logger.info(`🚀 Backend Server running on http://localhost:${PORT}`);
});
}
startServer().catch((err) => {
logger.error('Failed to start server:', err);
process.exit(1);
});