Files

38 lines
1.1 KiB
JavaScript

require('dotenv').config();
const express = require('express');
const cors = require('cors');
const path = require('path');
const db = require('./db');
const recognizeRoute = require('./routes/recognize');
const metadataRoute = require('./routes/metadata');
const suggestionsRoute = require('./routes/suggestions');
const searchRoute = require('./routes/search');
const tracksRoute = require('./routes/tracks');
const coverRoute = require('./routes/cover');
const app = express();
const port = process.env.PORT || 3000;
app.use(cors());
app.use(express.json());
// Serve static frontend and shared assets
app.use(express.static(path.join(__dirname, '../public')));
app.use('/shared', express.static(path.join(__dirname, '../shared')));
// API Routes
app.use('/api/recognize', recognizeRoute);
app.use('/api/metadata', metadataRoute);
app.use('/api/suggestions', suggestionsRoute);
app.use('/api/search', searchRoute);
app.use('/api/tracks', tracksRoute);
app.use('/api/cover', coverRoute);
// Start server after connecting DB
db.initDb().then(() => {
app.listen(port, () => {
console.log(`KeySelector backend listening on port ${port}`);
});
});