mirror of
				https://github.com/franjsco/trackmyd-api
				synced 2025-06-06 00:29:14 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const express = require('express');
 | |
| const mongoose = require('mongoose');
 | |
| const bodyParser = require('body-parser');
 | |
| const basicAuth = require('express-basic-auth');
 | |
| const config = require('./config');
 | |
| const logger = require('./logger');
 | |
| const apiRoutes = require('./apiRoutes');
 | |
| 
 | |
| 
 | |
| const { db } = config;
 | |
| const app = express();
 | |
| const port = process.env.PORT || config.app.port;
 | |
| 
 | |
| const connectionString = `${db.prefix}${db.user}:${db.password}@${db.host}/${db.database}`;
 | |
| 
 | |
| mongoose.connect(connectionString, { useNewUrlParser: true });
 | |
| mongoose.set('useFindAndModify', false);
 | |
| 
 | |
| app.use(bodyParser.urlencoded({ extended: true }));
 | |
| app.use(bodyParser.json());
 | |
| app.use(basicAuth({ users: config.app.auth.users }));
 | |
| 
 | |
| app.use('/api', apiRoutes);
 | |
| 
 | |
| app.listen(port, () => {
 | |
|   logger.logInfo('Server started.');
 | |
|   logger.logConsole('Server started.');
 | |
| });
 | |
| 
 | |
| process.on('uncaughtException', (err) => {
 | |
|   logger.logError(err);
 | |
| });
 | |
| 
 | |
| process.on('SIGINT', () => {
 | |
|   mongoose.connection.close();
 | |
|   logger.logInfo('Server stopped');
 | |
|   logger.logConsole('Server stopped');
 | |
|   process.exit(0);
 | |
| });
 |