Skip to content

Commit 15a6811

Browse files
committed
first Commit
0 parents  commit 15a6811

File tree

2,789 files changed

+349322
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,789 files changed

+349322
-0
lines changed

README.md

Whitespace-only changes.

app.js

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
const dotenv = require('dotenv');
2+
dotenv.config({ path: "./config.env" });
3+
4+
var createError = require('http-errors');
5+
var express = require('express');
6+
var path = require('path');
7+
var cookieParser = require('cookie-parser');
8+
var logger = require('morgan');
9+
var dbConn = require("./src/config/dbConn"); // Database connection file
10+
const session = require('express-session');
11+
12+
// Import Routers
13+
var indexRouter = require('./routes/index');
14+
var studentRouter = require('./routes/studentRoute');
15+
var classRouter = require('./routes/classRoute');
16+
var teacherRouter = require('./routes/teacherRoute');
17+
var adminRouter = require('./routes/adminRoute');
18+
19+
20+
// Import Admin Initialization Function
21+
const { initializeAdmin } = require('./src/controllers/adminController');
22+
23+
var app = express();
24+
25+
// View engine setup
26+
app.set('views', path.join(__dirname, 'views'));
27+
app.set('view engine', 'ejs');
28+
29+
// Middleware
30+
app.use(logger('dev'));
31+
app.use(express.json());
32+
app.use(express.urlencoded({ extended: false }));
33+
app.use(cookieParser());
34+
app.use(express.static(path.join(__dirname, 'public')));
35+
36+
app.use(session({
37+
secret: 'bnmjhkuiy78979grdsr54w', // Replace with a strong secret key
38+
resave: false,
39+
saveUninitialized: true,
40+
cookie: { secure: false }, // Set to true if you're using HTTPS
41+
}));
42+
43+
// Routes
44+
app.use('/', indexRouter);
45+
app.use('/student', studentRouter);
46+
app.use('/class', classRouter);
47+
app.use('/teacher', teacherRouter);
48+
app.use('/admin', adminRouter);
49+
50+
51+
// Initialize admin when the database connection is open
52+
dbConn.once('open', async () => {
53+
console.log('Database connection is open');
54+
try {
55+
await initializeAdmin(); // Initialize the first admin
56+
} catch (error) {
57+
console.error('Error during admin initialization:', error.message);
58+
}
59+
});
60+
61+
// Catch 404 and forward to error handler
62+
app.use(function (req, res, next) {
63+
next(createError(404));
64+
});
65+
66+
// Error handler
67+
app.use(function (err, req, res, next) {
68+
// Set locals, only providing error in development
69+
res.locals.message = err.message;
70+
res.locals.error = req.app.get('env') === 'development' ? err : {};
71+
72+
// Render the error page
73+
res.status(err.status || 500);
74+
res.render('error');
75+
});
76+
77+
module.exports = app;

bin/www

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
#!/usr/bin/env node
2+
3+
/**
4+
* Module dependencies.
5+
*/
6+
7+
var app = require('../app');
8+
var debug = require('debug')('sms:server');
9+
var http = require('http');
10+
11+
/**
12+
* Get port from environment and store in Express.
13+
*/
14+
15+
var port = normalizePort(process.env.PORT || '3000');
16+
app.set('port', port);
17+
18+
/**
19+
* Create HTTP server.
20+
*/
21+
22+
var server = http.createServer(app);
23+
24+
/**
25+
* Listen on provided port, on all network interfaces.
26+
*/
27+
28+
server.listen(port);
29+
server.on('error', onError);
30+
server.on('listening', onListening);
31+
32+
/**
33+
* Normalize a port into a number, string, or false.
34+
*/
35+
36+
function normalizePort(val) {
37+
var port = parseInt(val, 10);
38+
39+
if (isNaN(port)) {
40+
// named pipe
41+
return val;
42+
}
43+
44+
if (port >= 0) {
45+
// port number
46+
return port;
47+
}
48+
49+
return false;
50+
}
51+
52+
/**
53+
* Event listener for HTTP server "error" event.
54+
*/
55+
56+
function onError(error) {
57+
if (error.syscall !== 'listen') {
58+
throw error;
59+
}
60+
61+
var bind = typeof port === 'string'
62+
? 'Pipe ' + port
63+
: 'Port ' + port;
64+
65+
// handle specific listen errors with friendly messages
66+
switch (error.code) {
67+
case 'EACCES':
68+
console.error(bind + ' requires elevated privileges');
69+
process.exit(1);
70+
break;
71+
case 'EADDRINUSE':
72+
console.error(bind + ' is already in use');
73+
process.exit(1);
74+
break;
75+
default:
76+
throw error;
77+
}
78+
}
79+
80+
/**
81+
* Event listener for HTTP server "listening" event.
82+
*/
83+
84+
function onListening() {
85+
var addr = server.address();
86+
var bind = typeof addr === 'string'
87+
? 'pipe ' + addr
88+
: 'port ' + addr.port;
89+
debug('Listening on ' + bind);
90+
}

config.env

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
DATABASE_URL=mongodb://localhost:27017/sms
2+
CLOUDINARY_CLOUD_NAME=diftmnwxg
3+
CLOUDINARY_API_KEY=635763841964684
4+
CLOUDINARY_API_SECRET=4ccAzLipjyM5k_is7FcxO9ZZnVs
5+
JWT_SECRET=wqewqdgdsdfdsqe

node_modules/.bin/mime

+16
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/mime.cmd

+17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/mime.ps1

+28
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/mkdirp

+16
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/mkdirp.cmd

+17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/mkdirp.ps1

+28
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/semver

+16
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/semver.cmd

+17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/semver.ps1

+28
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)