47 lines
1.0 KiB
TypeScript
47 lines
1.0 KiB
TypeScript
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<void> => {
|
|
await connectDB();
|
|
app.listen(ENV.PORT, () => {
|
|
console.log(`Server running on port ${ENV.PORT}`)
|
|
});
|
|
};
|
|
|
|
start(); |