Advertisement
Guest User

Untitled

a guest
May 19th, 2022
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // This is serverside
  2.  
  3. router.post("/results", function (request, response) {
  4.     let item = request.body;
  5.     let applicant_name = request.body.firstName;
  6.  
  7.     client.connect(function (err) {
  8.         const db = client.db("myFirstDatabase");
  9.         assert.equal(null, err);
  10.         db.collection("residents").insertOne(item, function (err, result) {
  11.             assert.equal(null, err);
  12.             console.log("Item inserted");
  13.         });
  14.     });
  15.  
  16.     client.connect(function (err) {
  17.         const db = client.db("myFirstDatabase");
  18.         assert.equal(null, err);
  19.         db.collection("residents")
  20.             .find({})
  21.             .toArray(function (err, resident) {
  22.                 if (err) throw err;
  23.                 compatability(request, resident);
  24.             });
  25.     });
  26.  
  27.     client.close();
  28.     response.render("pages/results", {
  29.         applicant_name: applicant_name,
  30.         resident: fitness,
  31.     });
  32. });
  33.  
  34. let fitness = [];
  35.  
  36. function compatability(request, resident) {
  37.     for (let i = 0; i < resident.length; i++) {
  38.         let array = [];
  39.         let sum = 0;
  40.  
  41.         let X1 = x1(
  42.             request.body.planVisitorsRoommate,
  43.             resident[i].planVisitors
  44.         );
  45.         let X2 = x2(
  46.             resident[i].planVisitorsRoommate,
  47.             request.body.planVisitors
  48.         );
  49.         let X3 = x3(request.body.preferStudy, resident[i].preferStudy);
  50.         let X4 = x4(request.body.bedtime, resident[i].bedtime);
  51.         let X5 = x5(request.body.roommateGender, resident[i].gender);
  52.         let X6 = x6(resident[i].roommateGender, request.body.gender);
  53.         let X7 = x7(
  54.             request.body.preferInternational,
  55.             request.body.roommateLanguage,
  56.             resident[i].roommateLanguage
  57.         );
  58.         let X8 = x8(
  59.             resident[i].preferInternational,
  60.             resident[i].roommateLanguage,
  61.             request.body.roommateLanguage
  62.         );
  63.         let X9 = x9(request.body.preferredAgeRange, resident[i].age);
  64.         let X10 = x10(resident[i].preferredAgeRange, request.body.age);
  65.         let X11 = x11(request.body.btnradio4, resident[i].btnradio4);
  66.         let X12 = x12(
  67.             request.body.roommateMajor,
  68.             request.body.major,
  69.             resident[i].major
  70.         );
  71.         let X13 = x13(
  72.             resident[i].roommateMajor,
  73.             resident[i].major,
  74.             request.body.major
  75.         );
  76.         let X14 = x14(
  77.             request.body.roommateSemester,
  78.             request.body.semester,
  79.             resident[i].semester
  80.         );
  81.         let X15 = x15(
  82.             resident[i].roommateSemester,
  83.             resident[i].semester,
  84.             request.body.semester
  85.         );
  86.  
  87.         array[0] = X1;
  88.         array[1] = X2;
  89.         array[2] = X3;
  90.         array[3] = X4;
  91.         array[4] = X5;
  92.         array[5] = X6;
  93.         array[6] = X7;
  94.         array[7] = X8;
  95.         array[8] = X9;
  96.         array[9] = X10;
  97.         array[10] = X11;
  98.         array[11] = X12;
  99.         array[12] = X13;
  100.         array[13] = X14;
  101.         array[14] = X15;
  102.  
  103.         for (let j = 0; j < 15; j++) {
  104.             sum += array[j] * weightings[j];
  105.         }
  106.  
  107.         let fit = {
  108.             fitness: Math.round(sum * 100),
  109.             email: resident[i].email,
  110.             name: resident[i].firstName + " " + resident[i].lastName,
  111.         };
  112.         fitness.push(fit);
  113.     }
  114.  
  115.     fitness.sort((a, b) => (a.fitness < b.fitness ? 1 : -1));
  116.  
  117.     for (let i = 0; i < 3; i++) {
  118.         console.log(fitness[i]);
  119.     }
  120. }
  121.  
  122. // This is our .ejs file:
  123.  
  124. <body>
  125.         <!-- Navbar -->
  126.         <%- include('../partials/navbar') %>
  127.  
  128.         <h1 class="mt-5 text-center">Results</h1>
  129.         <h2 class="mt-3 text-center">
  130.             Hi <%= applicant_name %>, here are your results from the
  131.             quesitonnaire.
  132.         </h2>
  133.         <div class="card-group p-5">
  134.             <div class="card">
  135.                 <img
  136.                     src="https://randomuser.me/api/portraits/men/1.jpg"
  137.                     class="card-img-top"
  138.                     alt="..."
  139.                 />
  140.                 <div class="card-body">
  141.                     <h5 class="card-title">Best Match</h5>
  142.                     <p class="card-text">
  143.                         Compatibility %: <%= resident[0].fitness %><br />
  144.                         Name: <%= resident[0].name %> <br />
  145.                         Email: <%= resident[0].email %><br />
  146.                         Location: <br />
  147.                     </p>
  148.                 </div>
  149.             </div>
  150.             <div class="card">
  151.                 <img
  152.                     src="https://randomuser.me/api/portraits/women/1.jpg"
  153.                     class="card-img-top"
  154.                     alt="..."
  155.                 />
  156.                 <div class="card-body">
  157.                     <h5 class="card-title">Second Match</h5>
  158.                     <p class="card-text">
  159.                         Compatibility %: <%= resident[1].fitness %><br />
  160.                         Name: <%= resident[1].name %> <br />
  161.                         Email: <%= resident[1].email %><br />
  162.                         Location: <br />
  163.                     </p>
  164.                 </div>
  165.             </div>
  166.             <div class="card">
  167.                 <img
  168.                     src="https://randomuser.me/api/portraits/men/2.jpg"
  169.                     class="card-img-top"
  170.                     alt="..."
  171.                 />
  172.                 <div class="card-body">
  173.                     <h5 class="card-title">Third Match</h5>
  174.                     <p class="card-text">
  175.                         Compatibility %: <%= resident[2].fitness %><br />
  176.                         Name: <%= resident[2].name %> <br />
  177.                         Email: <%= resident[2].email %><br />
  178.                         Location: <br />
  179.                     </p>
  180.                 </div>
  181.             </div>
  182.         </div>
  183.  
  184.         <!-- Footer -->
  185.         <%- include('../partials/footer') %>
  186.  
  187.         <!-- JavaScript -->
  188.         <%- include('../partials/script') %>
  189.     </body>
  190.  
  191. // Photos of how it looks:
  192.  
  193. // TypeError: https://imgur.com/a/LvKPaPm
  194. // Refresh after the server crashes: https://imgur.com/a/lfaR06F - This is essentially what we want, and it seems like it works. But we still get the TypeError and the server crashes.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement