add server nodejs express
This commit is contained in:
parent
db3fa29d79
commit
c68485e41c
10 changed files with 2111 additions and 7 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,5 +1,5 @@
|
||||||
/.phpunit.cache
|
/.phpunit.cache
|
||||||
/node_modules
|
/**/node_modules
|
||||||
/public/build
|
/public/build
|
||||||
/public/hot
|
/public/hot
|
||||||
/public/storage
|
/public/storage
|
||||||
|
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
|
@ -25,7 +25,8 @@ function loadMap() {
|
||||||
.then(data => {
|
.then(data => {
|
||||||
L.geoJSON(data, {
|
L.geoJSON(data, {
|
||||||
onEachFeature: function (feature, layer) {
|
onEachFeature: function (feature, layer) {
|
||||||
layer.bindPopup('<h2>' + feature.properties.Nome + '</h2><p>' + feature.properties.Descrizione + '</p><img src="' + feature.properties.Foto + '" alt="Photo" style="width:200px;height:auto;">');
|
layer.bindPopup('<h2>' +
|
||||||
|
feature.properties.Nome + '</h2><p>' + feature.properties.Descrizione + '</p><img src="' + feature.properties.Foto + '" alt="Photo" style="width:200px;height:auto;">');
|
||||||
}
|
}
|
||||||
}).addTo(map);
|
}).addTo(map);
|
||||||
});
|
});
|
||||||
|
|
2057
ruscoapp/package-lock.json
generated
Normal file
2057
ruscoapp/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
16
ruscoapp/package.json
Normal file
16
ruscoapp/package.json
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"name": "ruscoapp",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "server.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
|
"start": "node server.js"
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"express": "^4.18.2",
|
||||||
|
"sqlite3": "^5.1.7"
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
"properties": {
|
"properties": {
|
||||||
"Nome": "Televisore",
|
"Nome": "Televisore",
|
||||||
"Descrizione": "estitcamente messo bene",
|
"Descrizione": "estitcamente messo bene",
|
||||||
"Foto": "foto/tv.jph"
|
"Foto": "foto/tv.jpg"
|
||||||
},
|
},
|
||||||
"geometry": {
|
"geometry": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
|
|
BIN
ruscoapp/ruscodb
Normal file
BIN
ruscoapp/ruscodb
Normal file
Binary file not shown.
|
@ -1,5 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const sqlite3 = require('sqlite3').verbose();
|
const sqlite3 = require('sqlite3').verbose();
|
||||||
|
const path = require('path')
|
||||||
|
const bcrypt = require('crypto');
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
const port = 3000;
|
const port = 3000;
|
||||||
|
@ -12,10 +14,15 @@ db.serialize(() => {
|
||||||
db.run("CREATE TABLE items (id INTEGER PRIMARY KEY, name TEXT, description TEXT, image_url TEXT, latitude REAL, longitude REAL)");
|
db.run("CREATE TABLE items (id INTEGER PRIMARY KEY, name TEXT, description TEXT, image_url TEXT, latitude REAL, longitude REAL)");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.get('/', (req, res) => {
|
||||||
|
res.sendFile(path.join(__dirname, 'public', 'index.html'));
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
// Insert a new item into the database
|
// Insert a new item into the database
|
||||||
app.get('/add-item', (req, res) => {
|
app.get('/addRuschi', (req, res) => {
|
||||||
const { name, description, image_url, latitude, longitude } = req.query;
|
const { name, description, image_url, latitude, longitude } = req.query;
|
||||||
db.run("INSERT INTO items (name, description, image_url, latitude, longitude) VALUES (?, ?, ?, ?, ?)", [name, description, image_url, latitude, longitude], function(err) {
|
db.run("INSERT INTO ruschi (type, nome, descrizione, foto, lat, lng) VALUES (?, ?, ?, ?, ?)", [type, name, description, image_url, latitude, longitude], function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return console.error(err.message);
|
return console.error(err.message);
|
||||||
}
|
}
|
||||||
|
@ -25,8 +32,8 @@ app.get('/add-item', (req, res) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Retrieve all items from the database
|
// Retrieve all items from the database
|
||||||
app.get('/get-items', (req, res) => {
|
app.get('/getRuschi', (req, res) => {
|
||||||
db.all("SELECT * FROM items", [], (err, rows) => {
|
db.all("SELECT * FROM ruschi", [], (err, rows) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
return console.error(err.message);
|
return console.error(err.message);
|
||||||
}
|
}
|
||||||
|
@ -34,6 +41,29 @@ app.get('/get-items', (req, res) => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.get('/login', (req, res) => {
|
||||||
|
const username = req.body.username;
|
||||||
|
const password = bcrypt.Hash(req.body.password);
|
||||||
|
db.all("SELECT * FROM user WHERE " + username + ' AND ' + password, [], (err, rows) => {
|
||||||
|
if (err) {
|
||||||
|
return console.error(err.message);
|
||||||
|
}
|
||||||
|
res.json('OK');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/register', (req, res) => {
|
||||||
|
const username = req.body.username;
|
||||||
|
const password = bcrypt.Hash(req.body.password);
|
||||||
|
db.run('insert into users (username, password) VALUES (?)', [username, password], (err, rows) => {
|
||||||
|
if (err) {
|
||||||
|
return console.error(err.message);
|
||||||
|
}
|
||||||
|
res.json('OK');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
// Start the server
|
// Start the server
|
||||||
app.listen(port, () => {
|
app.listen(port, () => {
|
||||||
console.log(`Server is running on http://localhost:${port}`);
|
console.log(`Server is running on http://localhost:${port}`);
|
||||||
|
|
Loading…
Reference in a new issue