Untitled

 avatar
unknown
plain_text
3 years ago
6.0 kB
7
Indexable
main.js

const express = require('express');
const mongoose = require('mongoose')
const csv = require('csv-parser')
const fs= require('fs')
const app  =express();
const path =require('path');
const mysql = require('mysql2');
const bodyParser = require('body-parser');
const user = require('./data.js')
app.use(express.json());
app.use(express.urlencoded({ extended: true }))
app.use(bodyParser.json());
app.use(bodyParser.raw())
app.use(bodyParser.urlencoded({ extended: true }));
app.listen(3000)

const result =[] 
const zmq = require('zeromq') 
//fs.createReadStream('car1_data.csv').pipe(csv({})).on('data',(data)=>result.push(data)).on('end',() => {});


/*const sock = new zmq.Push();
run();
async function run () {

    await sock.bind("tcp://127.0.0.1:3000");
    console.log("Server is ready listening on port 3000");
    console.log("Press any key to start sending the jobs!")
    process.stdin.once("data", send); 
}

//sending the jobs to the workers
async function send () {
 
    console.log("About to send jobs!");
    for (let i = 0 ;i < result.length; i++) {
         
        await sock.send(JSON.stringify(result[i]));
        //wait 500ms
        await new Promise(resolve => setTimeout(resolve, 200))
    }
}*/
var connection = mysql.createConnection({
    connectionLimit:10,
    host: 'localhost',
    user: 'root',
    password: '3005',
    database: 'user'
  });
  connection.connect(function(error){
    if(error){
      console.log("err")
    }
else{
  console.log('connected')
}  })

app.get('/',(req,res)=>{
    res.sendFile(path.join(__dirname,'index.html'));
});
app.get('/map',(req,res)=>{
     
  res.sendFile(path.join(__dirname,'map.html'));
});
var id ,time
app.post("/search", (req, res, next) => {

 id=req.body.id;
 time= req.body.time;

  });
 
 app.get('/files',async (req,res,next)=>{ 
    const l = await user.find({time:time,id:id}).exec();                   
  
       const t= JSON.stringify(l)
       const a=JSON.parse(t)
      
       const l1 = await user.find({int:{ $lte: a[0].int}}).exec(); 
       const t1= JSON.stringify(l1)
       const a1=JSON.parse(t1)
       console.log(a1)
       res.json(a1)  
     });
app.post("/submit", (req, res, next) => {

    if(req.body.password==" "&& req.body.name==" "){
        return res.status(500).json({
           message:"Make sure there isn't any empty field"
          });
    }
   else if(req.body.password==""|| req.body.name==""){
        return res.status(500).json({
           message:"Make sure there isn't any empty field"
          });
    }
  else{ connection.query('SELECT * FROM `login`' , (err, rows) => {
        if (err) {
      console.log("Error")
      
        }
        else{
          console.log("success")
         
          for(let i=0;i<rows.length;i++){
           
            if(rows[i].username==req.body.name && rows[i].password==req.body.password  ) {
              
               res.redirect('/map')
            
            }
            else {
              
                 res.sendFile(path.join(__dirname,'msg.html'))
                   }} } }) } 
                    })


map.html


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
  <title>Document</title>
  <style>
    #map {
        height: 400px;
        width: 100%;
    }
</style>

</head>

<body style="background-color:rgb(141, 179, 179);">

  
  <h3 style="color:darkblue; margin-right: 10%;margin-left: 10%;margin-top: 2%;">WELCOME</h3>

  <form id="form"  action="/search" enctype="form-data" method="post"ion="/search"style=" margin-right: 10%;margin-left: 10%;margin-top: 2%;">
    <label for="user">Choose Car Id </label>&emsp;

 
    <select name="id" id="id">
      <option value="1">1</option>
  
    </select>&emsp;
    <label for="user">Choose Time </label>
    &emsp;
    <select name="time" id="time">
      <option value="12:30">12:30</option>
  
     
     
    </select> &emsp;
    <button id="btn">Confirm</button>&emsp;
 <button  id="search" onclick="myFunction()" >Search</button>
  <br>
  <br>
  <div id='map'>
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB5BI6-6K96G5EKZNSGPR7B-3qV5HdLJgY&callback=initMap"
    async></script>

 

<script>
function initMap(){
  var options = {
      zoom: 15,
      center: { lat: 59.334591, lng: 18.063240 },
  }
  const map = new google.maps.Map(document.getElementById("map"), options);
  
  
  
}</script>
<script>function myFunction() {
  let url="http://localhost:3000/files";
        fetch(url).then(response => response.json())
        .then( (result) => {
         console.log(result[0].lat)
      for (let i=0;i<result.length;i++){
        document.getElementById('map').innerHTML += `
              marker = new google.maps.Marker({
              map,
              animation: google.maps.Animation.DROP,
              position: { lat:result[i].lat, lng:result[i].long },
              }) `;
        
            };
        } )
         .catch(error => console.log('error:', error)); }</script>
</div>
              
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>


</form>



</body>


</html>
Editor is loading...