import 'dotenv/config'; import express from 'express'; import cors from 'cors'; import authRoutes from './routes/auth'; import categoryRoutes from './routes/categories'; import taskRoutes from './routes/tasks'; import subtaskRoutes from './routes/subtasks'; import userRoutes from './routes/users'; import friendRoutes from './routes/friends'; import repeatProfileRoutes from './routes/repeatProfiles'; import syncRoutes from './routes/sync'; import pushNotificationRoutes from './routes/pushNotifications'; import { errorHandler, notFoundHandler } from './middleware/errorHandler'; const app = express(); const PORT = process.env.PORT || 3000; app.use(cors({ origin: true, credentials: true, })); app.use(express.json()); // Health check app.get('/health', (req, res) => { res.json({ status: 'ok', timestamp: Date.now() }); }); // API routes app.use('/api/auth', authRoutes); app.use('/api/categories', categoryRoutes); app.use('/api/tasks', taskRoutes); app.use('/api/subtasks', subtaskRoutes); app.use('/api/users', userRoutes); app.use('/api/repeat-profiles', repeatProfileRoutes); app.use('/api/sync', syncRoutes); app.use('/api/friends', friendRoutes); app.use('/api/push', pushNotificationRoutes); // 404 handler app.use(notFoundHandler); // Error handler app.use(errorHandler); app.listen(PORT, () => { console.log(`🚀 Server running on http://localhost:${PORT}`); console.log(`📚 API available at http://localhost:${PORT}/api`); }); export default app;