1
0
Fork 0
freesewing/packages/backend/src/index.js
2021-12-28 20:06:25 +01:00

57 lines
1.2 KiB
JavaScript

import express from "express";
import mongoose from "mongoose";
import chalk from "chalk";
import config from "./config";
import middleware from "./middleware";
import routes from "./routes";
const app = express();
// Load middleware
for (let type of Object.keys(middleware)) middleware[type](app);
// Load routes
for (let type of Object.keys(routes)) routes[type](app);
// Connecting to the database
mongoose.Promise = global.Promise;
mongoose
.connect(
config.db.uri,
{
useNewUrlParser: true
}
)
.then(() => {
console.log(chalk.green("Successfully connected to the database"));
})
.catch(err => {
console.log(
chalk.red("Could not connect to the database. Exiting now..."),
err
);
process.exit();
});
app.get("/", async (req, res) => {
try {
const thing = await Promise.resolve({ one: "two" }); // async/await!
return res.json({ ...thing, hello: "world" }); // object-rest-spread!
} catch (e) {
return res.json({ error: e.message });
}
});
const port = process.env.PORT || 3000;
app.listen(port, err => {
if (err) {
console.error(err);
}
if (__DEV__) {
// webpack flags!
console.log("> in development");
}
console.log(`> listening on port ${port}`);
});