import express, {Application, Request, Response} from 'express'; import cors from 'cors'; import {ENV} from './config/env'; import {connectDB, readyState} from './config/db'; import authRoutes from './routes/authRoutes'; import todoRoutes from './routes/todoRoutes'; const app: Application = express() app.use(cors ()) app.use(express.json()) app.get('/health', (_req: Request, res: Response)=> { res.json({ status: 'ok', environment: ENV.NODE_ENV, timestamp: new Date().toISOString(), }); }); //for checking database connection app.get('/health/db', (_req: Request, res: Response)=> { res.json({ db_status: readyState(), environment: ENV.NODE_ENV, timestamp: new Date().toISOString() }) }); //api routes app.use('/api/auth', authRoutes); app.use('/api/todos', todoRoutes); //start Server const start = async (): Promise => { await connectDB(); app.listen(ENV.PORT, () => { console.log(`Server running on port ${ENV.PORT}`) }); }; start();