38 lines
1.1 KiB
JavaScript
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}`);
|
|
});
|
|
});
|