Spaces:
Running
Running
feat: implement business date utility and financial reporting system including expense tracking, platform sales, and profit-loss analysis endpoints
ec62259 Download src/server.js from aliroohan179/face: direct link, hf CLI and curl.
- Browser
- Download file 2.43 kB
-
https://huggingface.co/spaces/aliroohan179/face/resolve/main/src/server.js
- Command line
-
hf download hf://spaces/aliroohan179/face/src/server.js
-
curl -L -o server.js https://huggingface.co/spaces/aliroohan179/face/resolve/main/src/server.js
2.43 kB
| require('dotenv').config({ path: require('path').resolve(__dirname, '../.env') }); | |
| require('express-async-errors'); | |
| const express = require('express'); | |
| const cors = require('cors'); | |
| const connectDB = require('./config/db'); | |
| const { initCronJobs } = require('./services/cronService'); | |
| // ββ Routes ββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| const authRoutes = require('./routes/auth'); | |
| const menuRoutes = require('./routes/menu'); | |
| const orderRoutes = require('./routes/orders'); | |
| const expenseRoutes = require('./routes/expenses'); | |
| const reportRoutes = require('./routes/reports'); | |
| const userRoutes = require('./routes/users'); | |
| const platformSaleRoutes = require('./routes/platformSales'); | |
| const app = express(); | |
| // ββ Middleware βββββββββββββββββββββββββββββββββββββββββββββββ | |
| app.use(cors({ origin: process.env.CLIENT_URL || '*', credentials: true })); | |
| app.use(express.json({ limit: '10mb' })); | |
| app.use(express.urlencoded({ extended: true })); | |
| // ββ API Routes βββββββββββββββββββββββββββββββββββββββββββββββ | |
| app.use('/api/auth', authRoutes); | |
| app.use('/api/menu', menuRoutes); | |
| app.use('/api/orders', orderRoutes); | |
| app.use('/api/expenses', expenseRoutes); | |
| app.use('/api/platform-sales', platformSaleRoutes); | |
| app.use('/api/reports', reportRoutes); | |
| app.use('/api/users', userRoutes); | |
| // Health check | |
| app.get('/api/health', (_, res) => res.json({ status: 'ok', ts: new Date().toISOString() })); | |
| // ββ Global Error Handler βββββββββββββββββββββββββββββββββββββ | |
| app.use((err, req, res, _next) => { | |
| console.error('β', err.message); | |
| const status = err.status || err.statusCode || 500; | |
| res.status(status).json({ message: err.message || 'Server error' }); | |
| }); | |
| // ββ Start ββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| const PORT = process.env.PORT || 5000; | |
| connectDB().then(() => { | |
| app.listen(PORT, () => { | |
| console.log(`π Golden Wok API running on port ${PORT}`); | |
| initCronJobs(); | |
| }); | |
| }); | |
| module.exports = app; | |