Spaces:
Running
Running
| const express = require('express'); | |
| const cors = require('cors'); | |
| require('dotenv').config(); | |
| const partiesRouter = require('./routes/parties'); | |
| const mirchiTypesRouter = require('./routes/mirchiTypes'); | |
| const lotsRouter = require('./routes/lots'); | |
| const transactionsRouter = require('./routes/transactions'); | |
| const jamaRouter = require('./routes/jama'); | |
| const pattiRouter = require('./routes/patti'); | |
| const app = express(); | |
| const PORT = process.env.PORT || 4000; | |
| // Middleware | |
| app.use(cors()); | |
| app.use(express.json()); | |
| app.use(express.urlencoded({ extended: true })); | |
| // Request logging | |
| app.use((req, res, next) => { | |
| console.log(`${new Date().toISOString()} - ${req.method} ${req.path}`); | |
| next(); | |
| }); | |
| // Routes | |
| app.use('/api/parties', partiesRouter); | |
| app.use('/api/mirchi-types', mirchiTypesRouter); | |
| app.use('/api/lots', lotsRouter); | |
| app.use('/api/transactions', transactionsRouter); | |
| app.use('/api/jama', jamaRouter); | |
| app.use('/api/patti', pattiRouter); | |
| // Health check | |
| app.get('/health', (req, res) => { | |
| res.json({ status: 'ok', timestamp: new Date().toISOString() }); | |
| }); | |
| // Root endpoint | |
| app.get('/', (req, res) => { | |
| res.json({ | |
| message: 'Pattanshetty Inventory Management API', | |
| version: '1.0.0', | |
| endpoints: { | |
| parties: '/api/parties', | |
| mirchiTypes: '/api/mirchi-types', | |
| lots: '/api/lots', | |
| transactions: '/api/transactions' | |
| } | |
| }); | |
| }); | |
| // Error handling middleware | |
| app.use((err, req, res, next) => { | |
| console.error('Error:', err); | |
| res.status(500).json({ | |
| success: false, | |
| message: err.message || 'Internal server error' | |
| }); | |
| }); | |
| // 404 handler | |
| app.use((req, res) => { | |
| res.status(404).json({ | |
| success: false, | |
| message: 'Route not found' | |
| }); | |
| }); | |
| // Start server | |
| app.listen(PORT, () => { | |
| console.log(`π Server running on port ${PORT}`); | |
| console.log(`π API available at http://localhost:${PORT}`); | |
| console.log(`π Health check: http://localhost:${PORT}/health`); | |
| }); | |
| module.exports = app; | |