Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion src/Config/config.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,23 @@
module.exports = {
/**
* Sequelize database configuration for the 'development' environment.
* This file uses ES6 module syntax (`export default`).
*/

export default {
development: {
// Uses environment variable DB_USER, falling back to 'root'
username: process.env.DB_USER || 'root',

// Uses environment variable DB_PASS, falling back to null (no password)
password: process.env.DB_PASS || null,

// Uses environment variable DB_NAME, falling back to 'EnrolNow'
database: process.env.DB_NAME || 'EnrolNow',

// Uses environment variable DB_HOST, falling back to '127.0.0.1' (localhost)
host: process.env.DB_HOST || '127.0.0.1',

// Specifies the database dialect
dialect: 'mysql'
}
};
20 changes: 15 additions & 5 deletions src/Config/db.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
// db.js
const { Sequelize } = require('sequelize');
const config = require('./config').development;
/**
* Sequelize database connection setup using ES6 modules.
* It imports the database configuration from './database.config.js'.
*/
import { Sequelize } from 'sequelize';

// Import the default export (the configuration object) from the config file.
// Note: The original CJS referred to './config', but we use the actual file name.
import configModule from './database.config.js';

// Destructure the specific 'development' environment configuration.
const config = configModule.development;

// Initialize Sequelize instance
const sequelize = new Sequelize(
config.database,
config.username,
Expand All @@ -11,5 +21,5 @@ const sequelize = new Sequelize(
dialect: config.dialect,
}
);

module.exports = sequelize;
// Export the initialized Sequelize instance
export default sequelize;
58 changes: 40 additions & 18 deletions src/Config/index.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,52 @@
global.__basedir = __dirname;
const express = require('express');
// --- ES Module Setup for __dirname and __filename ---
// Import necessary modules for path resolution in ES modules
import path from 'path';
import { fileURLToPath } from 'url';

// Derive ES module equivalents for CJS context
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
global.__basedir = __dirname; // Set the global basedir

// --- Imports ---
import express from 'express';
import cookieParser from 'cookie-parser';
import { config } from 'dotenv';

// Initialize dotenv configuration immediately
config();

// Service Imports (Note: Must include .js extension for local modules)
import UserRegister from "../api/Services/UserService.js";
import ProgramService from '../api/Services/ProgramCourseServices.js';

// Route Imports (Note: Must include .js extension for local modules)
import userRoutes from '../api/Routes/userRoute.js';
import ProgramRoutes from '../api/Routes/ProgramRoutes.js';
import departmentRoutes from '../api/Routes/DepartmentRoutes.js';
import InstructorRoutes from "../api/Routes/InstructorRoutes.js";

// --- Application Setup ---
const app = express();
const port = 3000;
const cookieparser = require('cookie-parser');
app.use(express.json());
app.use(cookieparser());
require('dotenv').config();

const UserRegister = require("../api/Services/UserService");
const ProgramService = require('../api/Services/ProgramCourseServices')
// Require the router
const userRoutes = require('../api/Routes/userRoute');
const ProgramRoutes = require('../api/Routes/ProgramRoutes');
const departmentRoutes = require('../api/Routes/DepartmentRoutes')
const InstructorRoutes = require("../api/Routes/InstructorRoutes")
// Middleware
app.use(express.json());
app.use(cookieParser());
app.use(express.urlencoded({ extended: true }));

// Example route
app.get('/', (req, res) => {
res.send('Hello from Express API!');
});
app.use(express.urlencoded({ extended: true }));
// Use the router at a mount path

// Use the routers at their mount paths
app.use('/users', userRoutes);
app.use('/program', ProgramRoutes)
app.use('/department', departmentRoutes)
app.use("/instructor", InstructorRoutes)
app.use('/program', ProgramRoutes);
app.use('/department', departmentRoutes);
app.use("/instructor", InstructorRoutes);

// --- Start Server ---
app.listen(port, () => {
console.log(`Express API listening at http://localhost:${port}`);
});
Loading