Untitled
unknown
plain_text
4 years ago
6.0 kB
10
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> 
<select name="id" id="id">
<option value="1">1</option>
</select> 
<label for="user">Choose Time </label>
 
<select name="time" id="time">
<option value="12:30">12:30</option>
</select>  
<button id="btn">Confirm</button> 
<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...