create-bodhi-node-boilerplate
Version:
Create a Node.js project with basic folder structure and server setup
51 lines (42 loc) • 1.25 kB
JavaScript
const express = require('express');
const cors = require('cors');
const mongoose = require('mongoose');
const config = require('./config/config');
const authRoutes = require('./routes/authRoutes');
const userRoutes = require('./routes/userRoutes');
const app = express();
const port = config.port;
// Import ASCII art
const asciiArt = require('./utils/ascii-art');
// Connect to MongoDB
mongoose.connect(config.mongoUri, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() => {
console.log('Connected to MongoDB');
// Only start server after DB connection is established
app.listen(port, () => {
console.log(asciiArt);
console.log(`🚀 Server running on port ${port}`);
});
})
.catch(err => {
console.error('MongoDB connection error:', err);
process.exit(1);
});
// Middleware
app.use(cors());
app.use(express.json());
// Routes
app.use('/api/v1/auth', authRoutes);
app.use('/api/v1/users', userRoutes);
// Basic route
app.get('/', (req, res) => {
res.json({ message: 'Welcome to your Node.js application!' });
});
// Error handling middleware
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).json({ error: 'Something went wrong!' });
});