Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var mongo = require('mongodb');
- var app = express();
- var bodyParser = require('body-parser');
- var session = require('express-session');
- var path = require('path');
- var link = require('url');
- app.set('views',path.join(__dirname,'views'));
- app.set('view engine','ejs');
- app.use(express.static(path.join(__dirname,"public")));
- app.use(session({
- secret : 'qtoquizandotoonline',
- resave : false,
- saveUninitialized : true
- }));
- var url="mongodb://localhost:27017/online_quiz";
- app.use(bodyParser.urlencoded({ extended : true }));
- app.listen(3000,function(err){
- if(err)
- {
- console.log("Error in listening Port");
- }
- console.log("listening to port : 3000")
- });
- app.get('/signin',function(req,res){
- if(!req.session.user)
- {
- res.render('signin');
- }
- else
- {
- if(req.session.type=='0')
- {
- res.redirect('/admin');
- }
- else if(req.session.type=='1')
- {
- res.redirect('/faculty');
- }
- else if(req.session.type=='2')
- {
- res.redirect('/student');
- }
- }
- });
- app.get('/admin',function(req,res){
- if(!req.session.user )
- {
- res.redirect('/');
- }
- else if(result[0].type=='1')
- {
- res.redirect('/faculty');
- }
- else if(result[0].type=='2')
- {
- res.redirect('/student');
- }
- else
- {
- mongo.connect(url,function(err,db) {
- if(err)
- {
- console.log("connection problem");
- }
- var dbo=db.db("online_quiz");
- dbo.collection("registered_clg").find({},{projection : { _id : 0, college : 1}}).toArray(function(err,user)
- {
- console.log(user);
- res.render('admin',{info : user});
- });
- });
- }
- });
- app.get('/',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/signin');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err)
- {
- throw err;
- }
- var dbo=db.db("online_quiz");
- dbo.collection("credentials").aggregate([{$match : { email : req.session.user}}]).toArray(function(err,result){
- if(err)
- {
- console.log("err");
- }
- else
- {
- var type = result[0].type;
- var user = result[0].name;
- if(type=='0')
- {
- res.redirect('/admin');
- }
- else if(type=='1')
- {
- res.redirect('/faculty');
- }
- else if(type=='2')
- {
- res.redirect('/student');
- }
- }
- });
- });
- }
- });
- app.post('/sign_in',function(req,res){
- mongo.connect(url,function(err,db) {
- if(err)
- {
- console.log("connection problem");
- };
- var dbo=db.db("online_quiz");
- dbo.collection("credentials").findOne({email : req.body.email},function(err,user){
- if(err)
- {
- console.log("error");
- }
- if(!user)
- {
- res.write("User Does Not Exist..!<br><a href="/">click here to try again</a>")
- console.log("user not found");
- }
- else if(user.password!=req.body.pass)
- {
- console.log("Wrong password");
- res.redirect('/');
- }
- else
- {
- req.session.user = req.body.email;
- console.log("successful login");
- dbo.collection("credentials").aggregate([{$match : { email : req.session.user}}]).toArray(function(err,result){
- if(err)
- {
- console.log("err");
- }
- else
- {
- req.session.name = result[0].name;
- req.session.type = result[0].type;
- if(result[0].type=='0')
- {
- res.redirect('/admin');
- }
- else if(result[0].type=='1')
- {
- res.redirect('/faculty');
- }
- else if(result[0].type=='2')
- {
- res.redirect('/student');
- }
- }
- });
- }
- });
- });
- });
- app.post('/sign_up',function(req,res){
- var name = req.body.name;
- var email = req.body.email;
- var pass = req.body.pass;
- var repass = req.body.repass;
- var college = req.body.college;
- var stream = req.body.stream;
- var type = "2";
- var section = req.body.section;
- var batch = req.body.batch;
- var data={
- "name":name,
- "email":email,
- "password":pass,
- "type" : type,
- "section" : section,
- "stream" : stream,
- "college":college,
- "batch":batch
- }
- mongo.connect(url,function(err,db) {
- if(err) throw err;
- var dbo=db.db("online_quiz");
- dbo.collection("credentials").findOne({email : data.email},function(err,user){
- if(err)
- {
- console.log(error);
- }
- if(user)
- {
- console.log("user already exit");
- res.redirect('/');
- }
- else
- {
- dbo.collection("credentials").insertOne(data,function(err,db){
- if(err)
- {
- console.log("error in signup in insertion");
- }
- else
- {
- console.log("successfully registered");
- res.redirect('/');
- }
- });
- }
- });
- });
- });
- app.get('/signup',function(req,res){
- if(!req.session.user)
- {
- mongo.connect(url,function(err,db){
- if(err)
- {
- console.log("error in connecting");
- }
- else
- {
- var dbo=db.db("online_quiz");
- dbo.collection("registered_clg").find({},{ projection: { _id: 0, college: 1} }).toArray(function(err,result){
- if(err)
- {
- console.log("error in finding array of college in signup");
- }
- else
- {
- res.render('signup',{info : result});
- }
- })
- }
- });
- }
- else
- {
- res.redirect('/');
- }
- });
- app.get('/logout',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- req.session.destroy();
- console.log("You are successfully Logged Out");
- res.redirect('/');
- });
- app.post('/add_clg',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- else
- {
- var college = req.body.college;
- var domain = req.body.domain;
- var date = new Date();
- var sub = req.body.subjects;
- var subjects = sub.split(",");
- var data = {
- "college" : college,
- "domain" : domain,
- "date" : date,
- "subjects" : subjects
- }
- mongo.connect(url,function(err,db){
- if(err)
- {
- res.send("error in connecting");
- }
- else
- {
- var dbo=db.db("online_quiz");
- dbo.collection("registered_clg").findOne({college : data.college},function(err,user){
- if(err)
- {
- console.log("error in finding college exist or not");
- }
- else if(user)
- {
- res.send("This College Already Exist");
- }
- else if(!user)
- {
- dbo.collection("registered_clg").insertOne(data,function(err,db){
- if(err)
- {
- res.send("error in registering college");
- }
- res.send("successfully Submitted!!");
- });
- }
- });
- }
- });
- //res.redirect('/admin');
- }
- });
- app.post('/del_clg',function(req,res){
- mongo.connect(url,function(err,db){
- if(err)
- {
- res.send("error in connecting");
- }
- else
- {
- console.log(req.body.array);
- var array = req.body.array;
- for(var i=0;i<array.length;i++){
- var dbo=db.db("online_quiz");
- dbo.collection("registered_clg").deleteOne({college : array[i]},function(err,user){
- if(err)
- {
- console.log("error in deleting college");
- }
- });
- }
- res.send("successfully Deleted");
- }
- });
- });
- app.post('/create_test',function(req,res){
- var testname = req.body.testname;
- var test_key = req.body.test_key;
- var teachername = req.body.teachername;
- var email = req.body.email;
- var college = req.body.college;
- var subject = req.body.subject;
- var section = req.body.section;
- var start_time = req.body.start_time;
- var start_date = req.body.start_date;
- var end_time = req.body.end_time;
- var end_date = req.body.end_date;
- var data = {
- "testname" : testname,
- "test_key" : test_key,
- "teachername" : teachername,
- "email" : email,
- "college" : college,
- "subject" : subject,
- "section" : section,
- "start_time" : start_time,
- "start_date" : start_date,
- "end_time" : end_time,
- "end_date" : end_date
- }
- mongo.connect(url,function(err,db) {
- if(err) throw err;
- var dbo=db.db("online_quiz");
- dbo.collection("testTable").findOne({testname : data.testname},function(err,user){
- if(err)
- {
- console.log(error);
- }
- else if(user)
- {
- res.send("0");
- }
- else
- {
- dbo.collection("testTable").insertOne(data,function(err,db){
- if(err)
- {
- console.log("error in signup in insertion");
- }
- else
- {
- res.send("successfully Details Submitted");
- }
- });
- }
- });
- });
- });
- app.get('/faculty',function(req,res){
- if(!req.session.user )
- {
- res.redirect('/');
- }
- else if(result[0].type=='0')
- {
- res.redirect('/admin');
- }
- else if(result[0].type=='2')
- {
- res.redirect('/student');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err)
- {
- throw err;
- }
- else
- {
- var dbo=db.db("online_quiz");
- dbo.collection("credentials").aggregate([{$match : { email : req.session.user}}]).toArray(function(err,result){
- if(err)
- {
- console.log("err");
- }
- else
- {
- var college = result[0].college;
- dbo.collection("registered_clg").aggregate([{$match : { college : college}}]).toArray(function(err,user){
- if(err)
- {
- console.log("err");
- }
- else
- {
- var subject = user[0].subjects;
- res.render('faculty',{
- name : req.session.name,
- email : req.session.user,
- college : college,
- subject : subject
- });
- }
- });
- }
- });
- }
- });
- }
- });
- app.post('/add_question',function(req,res){
- var testname = req.body.testname;
- var college = req.body.college;
- var section = req.body.section;
- var question = req.body.question;
- var option1 = req.body.option1;
- var option2 = req.body.option2;
- var option3 = req.body.option3;
- var option4 = req.body.option4;
- var answer = req.body.answer;
- var mark = req.body.mark;
- var teacherEmail = req.body.teacherEmail;
- console.log(testname);
- var data = {
- "testname" : testname,
- "teacherEmail" : teacherEmail,
- "college" : college,
- "section" : section,
- "question" : question,
- "option1" : option1,
- "option2" : option2,
- "option3" : option3,
- "option4" : option4,
- "answer" : answer,
- "mark" : mark
- }
- mongo.connect(url,function(err,db){
- if(err)
- {
- res.send("err");
- }
- else
- {
- var dbo=db.db("online_quiz");
- dbo.collection("Question").insertOne(data,function(err,result){
- if(err)
- {
- res.send("err");
- }
- else
- {
- res.send("Added");
- }
- });
- }
- });
- });
- app.get('/view_test',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err) throw err;
- else
- {
- var dbo=db.db("online_quiz");
- dbo.collection("testTable").find({email : req.session.user},{projection : { _id : 0, testname : 1}}).toArray(function(err,user){
- if(err)
- {
- console.log("err");
- }
- else
- {
- res.render('view_test',{ tests : user});
- }
- });
- }
- });
- }
- });
- app.get('/students',function(req,res){
- if(!req.session.user)
- {
- if(req.session.type != "1")
- {
- req.session.destroy();
- }
- res.redirect('/');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err) throw err;
- else
- {
- var url = require('url');
- var adr = req.url;
- var q = url.parse(adr, true);
- var qdata = q.query; //returns an object: { year: 2017, month: 'february' }
- var testid = qdata.name //returns 'february'
- testid =testid.replace(/["']/g,"");
- console.log(testid);
- console.log(req.session.user);
- var dbo=db.db("online_quiz");
- dbo.collection("Result").find({testname : testid,teacherEmail : req.session.user}).toArray(function(err,user){
- if(err)
- {
- console.log("err");
- }
- else
- {
- console.log(user);
- res.render('students',{ studentData : user });
- }
- });
- }
- });
- }
- });
- app.get('/profile',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- if(req.session.type != "1")
- {
- req.session.destroy();
- res.redirect('/');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err) throw err;
- else
- {
- var dbo = db.db("online_quiz");
- dbo.collection('credentials').find({email : req.session.user},{projection : { _id : 0}}).toArray(function(err,result){
- var x = result[0].type;
- var type;
- if(x == "0")
- {
- type = "Admin";
- }
- else if(x == 1)
- {
- type = "Teacher";
- }
- else
- {
- type = "student";
- }
- res.render('profile',{
- name : result[0].name,
- email : result[0].email,
- type : type,
- stream : result[0].stream,
- college : result[0].college
- });
- });
- }
- });
- }
- });
- app.post('/change_password',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err) throw err;
- else
- {
- var password = req.body.password;
- var new_password = req.body.new_password;
- var repeat_password = req.body.repeat_password;
- console.log(password+" "+new_password+" "+repeat_password);
- var dbo = db.db("online_quiz");
- dbo.collection("credentials").find({email : req.session.user},{projection : { _id : 0}}).toArray(function(err,result){
- if(password != result[0].password)
- {
- res.send("1");
- }
- else if(new_password != repeat_password)
- {
- res.send("2");
- }
- else{
- var myquery = {password : result[0].password};
- var newvalue = { $set : {password : new_password}};
- dbo.collection('credentials').updateOne(myquery,newvalue,function(err,result){
- if(err)
- {
- res.send("Error in Changing Password");
- }
- else
- {
- res.send("0");
- }
- });
- }
- });
- }
- });
- }
- });
- app.get('/student_view_test',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- else if(req.session.type != "2")
- {
- res.redirect('/');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err) throw err;
- else
- {
- var dbo = db.db("online_quiz");
- dbo.collection("Result").find({email : req.session.user}).toArray(function(err,user){
- if(err)
- {
- console.log("err");
- }
- else
- {
- res.render('student_view_test',{ info : user});
- }
- });
- }
- });
- }
- });
- app.get('/student',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- else if(result[0].type=='0')
- {
- res.redirect('/Admin');
- }
- else if(result[0].type=='2')
- {
- res.redirect('/faculty');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err) throw err;
- else
- {
- var dbo = db.db("online_quiz");
- dbo.collection("credentials").find({email : req.session.user},{projection : {_id : 0,college : 1,section : 1}}).toArray(function(err,user){
- var college = user[0].college;
- var section = user[0].section;
- dbo.collection("testTable").find({college : college, section : section},{projection : { _id : 0, testname : 1}}).toArray(function(err,result){
- console.log(result);
- res.render('student',{ info : result});
- });
- });
- }
- });
- }
- });
- app.get('/key_check',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err) throw err;
- else
- {
- var url = require('url');
- var a = req.url;
- var h = url.parse(a, true);
- var qdata = h.query; //returns an object: { year: 2017, month: 'february' }
- var testname = qdata.testname;
- testname = testname.replace(/["']/g,"");
- var dbo = db.db("online_quiz");
- dbo.collection("credentials").find({email : req.session.user},{projection : {_id : 0,college : 1,section : 1}}).toArray(function(err,user){
- var college = user[0].college;
- res.render('key_check',{college : college,testname : testname});
- });
- }
- });
- }
- });
- app.post('/check_key',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err) throw err;
- else
- {
- var college = req.body.college;
- var testname = req.body.testname;
- var key = req.body.key;
- var dbo = db.db("online_quiz");
- dbo.collection('testTable').find({college : college,testname : testname}).toArray(function(err,result){
- if(key == result[0].test_key)
- {
- res.send("key matched");
- }
- else
- {
- res.send("Invalid Key");
- }
- });
- }
- });
- }
- });
- app.get('/test',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- else if(req.session.type != "2")
- {
- res.redirect('/');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if(err) throw err;
- else
- {
- var url = require('url');
- var a = req.url;
- var h = url.parse(a, true);
- var qdata = h.query; //returns an object: { year: 2017, month: 'february' }
- var testname = qdata.name;
- testname = testname.replace(/["']/g,"");
- var dbo = db.db("online_quiz");
- dbo.collection("credentials").find({email : req.session.user},{projection : {_id : 0,college : 1,section : 1}}).toArray(function(err,user){
- var college = user[0].college;
- var section = user[0].section;
- dbo.collection("Question").find({college : college, section : section, testname : testname}).toArray(function(err,result){
- res.render('test',{ data : result });
- });
- });
- }
- });
- }
- });
- app.get('/practice',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- if(req.session.type == "0" || req.session.type == "1")
- {
- req.session.destroy();
- res.redirect('/');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if (err) {
- console.log("error in connecting database");
- }
- else
- {
- var dbo=db.db("online_quiz");
- dbo.collection("credentials").find({email : req.session.user}).toArray(function(err,result){
- var college = result[0].college;
- dbo.collection("registered_clg").find({college : college}).toArray(function(err,user){
- var subjects = user[0].subjects;
- res.render('practice',{ info : subjects });
- });
- });
- }
- });
- }
- });
- app.get('/practice_test',function(req,res){
- if(!req.session.user)
- {
- res.redirect('/');
- }
- if(req.session.type == "0" || req.session.type == "1")
- {
- req.session.destroy();
- res.redirect('/');
- }
- else
- {
- mongo.connect(url,function(err,db){
- if (err) {
- console.log("error in connecting database");
- }
- else
- {
- var url = require('url');
- var adr = req.url;
- var q = url.parse(adr, true);
- var qdata = q.query; //returns an object: { year: 2017, month: 'february' }
- var subject = qdata.name //returns 'february'
- subject = subject.replace(/["']/g,"");
- var dbo = db.db("online_quiz");
- dbo.collection('practice_questions').find({subject : subject}).toArray(function(err,result){
- if(err)
- {
- console.log("error");
- }
- else
- {
- res.render('practice_test',{ data : result });
- }
- });
- }
- });
- }
- });
Add Comment
Please, Sign In to add comment