Skip to content

Commit fe0b3b8

Browse files
committed
conexión y consumo de la base de datos mysql local completado, en proceso de la página testimoniales
1 parent d44c224 commit fe0b3b8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+912
-3
lines changed

Project/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# instalar
22
- ``` nmp install express ``` en mode de producción
33
- ``` npm i --save-dev nodemon ``` esta en modo desarrollo
4-
4+
- ``` npm i pug ``` para las vistas
5+
- ``` npm i mysql2 sequelize ```

Project/agenciaviajes.dump

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
-- MySQL dump 10.13 Distrib 5.7.23, for macos10.13 (x86_64)
2+
--
3+
-- Host: 127.0.0.1 Database: agenciaviajes
4+
-- ------------------------------------------------------
5+
-- Server version 5.7.31
6+
7+
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8+
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9+
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10+
/*!40101 SET NAMES utf8 */;
11+
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12+
/*!40103 SET TIME_ZONE='+00:00' */;
13+
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14+
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15+
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16+
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17+
18+
--
19+
-- Table structure for table `viajes`
20+
--
21+
22+
DROP TABLE IF EXISTS `viajes`;
23+
/*!40101 SET @saved_cs_client = @@character_set_client */;
24+
/*!40101 SET character_set_client = utf8 */;
25+
CREATE TABLE `viajes` (
26+
`id` bigint(20) NOT NULL,
27+
`titulo` varchar(60) DEFAULT NULL,
28+
`precio` varchar(10) DEFAULT NULL,
29+
`fecha_ida` date DEFAULT NULL,
30+
`fecha_vuelta` date DEFAULT NULL,
31+
`imagen` varchar(15) DEFAULT NULL,
32+
`descripcion` text,
33+
`disponibles` int(11) DEFAULT NULL,
34+
`slug` varchar(20) DEFAULT NULL,
35+
PRIMARY KEY (`id`)
36+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
37+
/*!40101 SET character_set_client = @saved_cs_client */;
38+
39+
--
40+
-- Dumping data for table `viajes`
41+
--
42+
43+
LOCK TABLES `viajes` WRITE;
44+
/*!40000 ALTER TABLE `viajes` DISABLE KEYS */;
45+
INSERT INTO `viajes` VALUES (1,'Italia','50000','2021-06-24','2021-06-30','roma','Praesent tincidunt ante at justo semper volutpat. Sed risus neque, scelerisque id dictum in, placerat non erat. Sed eget tellus eu mauris faucibus pharetra. Praesent vulputate diam ac diam dignissim, eu semper turpis gravida. Vestibulum tempor purus orci, vitae ullamcorper erat congue quis. Nullam dapibus dui a velit lacinia, eu cursus massa cursus. Morbi lobortis fermentum urna, quis tincidunt justo varius vitae. In justo nisl, auctor vel eros sed, tempus efficitur lacus. Maecenas volutpat pharetra dolor, nec rutrum ipsum dapibus id.\r\n\r\nMauris ultricies augue lectus, efficitur tincidunt enim euismod non. Praesent nisl elit, eleifend et eleifend eu, venenatis et felis. Donec eleifend mi in congue semper. Quisque hendrerit purus eget pharetra laoreet. Donec nisl nisi, auctor at vehicula et, fermentum sed urna. In nec porta felis, eu ullamcorper lacus. Curabitur scelerisque commodo laoreet. Donec finibus vel nibh quis ultrices. Integer varius tellus sed leo tempor, vitae ullamcorper leo placerat.',32,'viaje-italia'),(2,'Canada','60000','2021-07-19','2021-07-19','canada','Praesent tincidunt ante at justo semper volutpat. Sed risus neque, scelerisque id dictum in, placerat non erat. Sed eget tellus eu mauris faucibus pharetra. Praesent vulputate diam ac diam dignissim, eu semper turpis gravida. Vestibulum tempor purus orci, vitae ullamcorper erat congue quis. Nullam dapibus dui a velit lacinia, eu cursus massa cursus. Morbi lobortis fermentum urna, quis tincidunt justo varius vitae. In justo nisl, auctor vel eros sed, tempus efficitur lacus. Maecenas volutpat pharetra dolor, nec rutrum ipsum dapibus id.\r\n\r\nMauris ultricies augue lectus, efficitur tincidunt enim euismod non. Praesent nisl elit, eleifend et eleifend eu, venenatis et felis. Donec eleifend mi in congue semper. Quisque hendrerit purus eget pharetra laoreet. Donec nisl nisi, auctor at vehicula et, fermentum sed urna. In nec porta felis, eu ullamcorper lacus. Curabitur scelerisque commodo laoreet. Donec finibus vel nibh quis ultrices. Integer varius tellus sed leo tempor, vitae ullamcorper leo placerat.',25,'viaje-canada'),(3,'Grecia','40000','2021-08-29','2021-09-15','grecia','Praesent tincidunt ante at justo semper volutpat. Sed risus neque, scelerisque id dictum in, placerat non erat. Sed eget tellus eu mauris faucibus pharetra. Praesent vulputate diam ac diam dignissim, eu semper turpis gravida. Vestibulum tempor purus orci, vitae ullamcorper erat congue quis. Nullam dapibus dui a velit lacinia, eu cursus massa cursus. Morbi lobortis fermentum urna, quis tincidunt justo varius vitae. In justo nisl, auctor vel eros sed, tempus efficitur lacus. Maecenas volutpat pharetra dolor, nec rutrum ipsum dapibus id.\r\n\r\nMauris ultricies augue lectus, efficitur tincidunt enim euismod non. Praesent nisl elit, eleifend et eleifend eu, venenatis et felis. Donec eleifend mi in congue semper. Quisque hendrerit purus eget pharetra laoreet. Donec nisl nisi, auctor at vehicula et, fermentum sed urna. In nec porta felis, eu ullamcorper lacus. Curabitur scelerisque commodo laoreet. Donec finibus vel nibh quis ultrices. Integer varius tellus sed leo tempor, vitae ullamcorper leo placerat.',18,'viaje-grecia'),(4,'Inglaterra','8000','2021-09-22','2021-10-03','londres','Praesent tincidunt ante at justo semper volutpat. Sed risus neque, scelerisque id dictum in, placerat non erat. Sed eget tellus eu mauris faucibus pharetra. Praesent vulputate diam ac diam dignissim, eu semper turpis gravida. Vestibulum tempor purus orci, vitae ullamcorper erat congue quis. Nullam dapibus dui a velit lacinia, eu cursus massa cursus. Morbi lobortis fermentum urna, quis tincidunt justo varius vitae. In justo nisl, auctor vel eros sed, tempus efficitur lacus. Maecenas volutpat pharetra dolor, nec rutrum ipsum dapibus id.\r\n\r\nMauris ultricies augue lectus, efficitur tincidunt enim euismod non. Praesent nisl elit, eleifend et eleifend eu, venenatis et felis. Donec eleifend mi in congue semper. Quisque hendrerit purus eget pharetra laoreet. Donec nisl nisi, auctor at vehicula et, fermentum sed urna. In nec porta felis, eu ullamcorper lacus. Curabitur scelerisque commodo laoreet. Donec finibus vel nibh quis ultrices. Integer varius tellus sed leo tempor, vitae ullamcorper leo placerat.',22,'viaje-inglaterra'),(5,'Rio de Janeiro','50000','2021-04-16','2021-04-25','rio','Praesent tincidunt ante at justo semper volutpat. Sed risus neque, scelerisque id dictum in, placerat non erat. Sed eget tellus eu mauris faucibus pharetra. Praesent vulputate diam ac diam dignissim, eu semper turpis gravida. Vestibulum tempor purus orci, vitae ullamcorper erat congue quis. Nullam dapibus dui a velit lacinia, eu cursus massa cursus. Morbi lobortis fermentum urna, quis tincidunt justo varius vitae. In justo nisl, auctor vel eros sed, tempus efficitur lacus. Maecenas volutpat pharetra dolor, nec rutrum ipsum dapibus id.\r\n\r\nMauris ultricies augue lectus, efficitur tincidunt enim euismod non. Praesent nisl elit, eleifend et eleifend eu, venenatis et felis. Donec eleifend mi in congue semper. Quisque hendrerit purus eget pharetra laoreet. Donec nisl nisi, auctor at vehicula et, fermentum sed urna. In nec porta felis, eu ullamcorper lacus. Curabitur scelerisque commodo laoreet. Donec finibus vel nibh quis ultrices. Integer varius tellus sed leo tempor, vitae ullamcorper leo placerat.',23,'viaje-rio-de-janeiro'),(6,'Francia','75000','2021-04-03','2021-04-10','paris','Praesent tincidunt ante at justo semper volutpat. Sed risus neque, scelerisque id dictum in, placerat non erat. Sed eget tellus eu mauris faucibus pharetra. Praesent vulputate diam ac diam dignissim, eu semper turpis gravida. Vestibulum tempor purus orci, vitae ullamcorper erat congue quis. Nullam dapibus dui a velit lacinia, eu cursus massa cursus. Morbi lobortis fermentum urna, quis tincidunt justo varius vitae. In justo nisl, auctor vel eros sed, tempus efficitur lacus. Maecenas volutpat pharetra dolor, nec rutrum ipsum dapibus id.\r\n\r\nMauris ultricies augue lectus, efficitur tincidunt enim euismod non. Praesent nisl elit, eleifend et eleifend eu, venenatis et felis. Donec eleifend mi in congue semper. Quisque hendrerit purus eget pharetra laoreet. Donec nisl nisi, auctor at vehicula et, fermentum sed urna. In nec porta felis, eu ullamcorper lacus. Curabitur scelerisque commodo laoreet. Donec finibus vel nibh quis ultrices. Integer varius tellus sed leo tempor, vitae ullamcorper leo placerat.',14,'viaje-francia');
46+
/*!40000 ALTER TABLE `viajes` ENABLE KEYS */;
47+
UNLOCK TABLES;
48+
49+
--
50+
-- Dumping routines for database 'agenciaviajes'
51+
--
52+
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
53+
54+
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
55+
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
56+
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
57+
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
58+
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
59+
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
60+
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
61+
62+
-- Dump completed on 2020-10-05 11:21:33

Project/config/db.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import Sequelize from 'sequelize';
2+
3+
const db = new Sequelize('agenciaviajes','root','password',{
4+
host: '127.0.0.1',
5+
port: '3306',
6+
dialect: 'mysql',
7+
define: {
8+
timestamps:false
9+
},
10+
pool:{
11+
max: 5,
12+
min: 0,
13+
acquire: 30000,
14+
idle: 10000
15+
16+
},
17+
operatorAliases: false
18+
});
19+
20+
export default db;
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import {travel} from '../model/Travel.js'
2+
3+
const beginningPage = (req,res) =>{
4+
res.render('beginning',{
5+
page:'Inicio'
6+
})
7+
}
8+
const usPage=(req,res)=>{
9+
10+
res.render('us',{
11+
page: 'Nosotros'
12+
})
13+
}
14+
15+
const contactPage=(req,res)=>{
16+
res.render('contact',{
17+
page: 'Contactos'
18+
})
19+
}
20+
21+
const travelsPage= async (req,res)=>{
22+
23+
const travels = await travel.findAll();
24+
console.log(travels)
25+
26+
27+
res.render('travels',{
28+
page:'Próximos Viajes',
29+
travels
30+
})
31+
}
32+
const detailTravelPage= async (req,res)=>{
33+
const {slug} =req.params;
34+
try {
35+
const result = await travel.findOne({where:{slug}});
36+
res.render('travel',{
37+
page:'Información de viaje',
38+
result
39+
})
40+
} catch (error) {
41+
42+
}
43+
44+
}
45+
const testimonialsPage=(req,res)=>{
46+
res.render('testimonials',{
47+
page:'Testimoniales'
48+
})
49+
}
50+
51+
export {
52+
beginningPage,
53+
usPage, contactPage, travelsPage,
54+
testimonialsPage,detailTravelPage
55+
}

Project/index.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// const express = require('express'); versión common js
2+
//versión actual hay que agregar al package.json la línea "type":"module", para que sepa de los imports
3+
import express from 'express';
4+
import router from './routes/index.js'
5+
import db from './config/db.js';
6+
7+
const app = express()
8+
9+
//conectamos a la base de datos
10+
db.authenticate()
11+
.then(()=> console.log('Base de datos conectada'))
12+
.catch(error=> console.log(error))
13+
14+
const port = process.env.PORT || 4000
15+
16+
app.set('view engine', 'pug')
17+
18+
//Le pasamos el año actual al footer
19+
app.use((req,res,next)=>{
20+
const year= new Date();
21+
res.locals.currentYear = year.getFullYear();
22+
return next();
23+
})
24+
25+
app.use('/',router)
26+
27+
28+
29+
app.use(express.static('public'))
30+
31+
app.listen(port, ()=>{
32+
console.log(`El servidor está funcionando en el puerto ${port}`)
33+
})
34+

Project/model/Travel.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import Sequelize from 'sequelize';
2+
import db from '../config/db.js';
3+
4+
export const travel = db.define('viajes',{
5+
titulo: {
6+
type: Sequelize.STRING
7+
},
8+
precio: {
9+
type: Sequelize.STRING
10+
},
11+
fecha_ida:{
12+
type: Sequelize.DATE
13+
},
14+
fecha_vuelta: {
15+
type: Sequelize.DATE
16+
},
17+
imagen: {
18+
type: Sequelize.STRING
19+
},
20+
descripcion: {
21+
type: Sequelize.STRING
22+
},
23+
disponibles: {
24+
type: Sequelize.STRING
25+
},
26+
slug: {
27+
type: Sequelize.STRING
28+
}
29+
})

Project/package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@
44
"description": "Primer proyecto página web agencia de viajes con node.js",
55
"main": "index.js",
66
"scripts": {
7-
"test": "echo \"Error: no test specified\" && exit 1"
7+
"dev": "nodemon "
88
},
9+
"type": "module",
910
"author": "Barry Zea H.",
1011
"license": "ISC",
1112
"dependencies": {
12-
"express": "^4.18.1"
13+
"express": "^4.18.1",
14+
"mysql2": "^2.3.3",
15+
"pug": "^3.0.2",
16+
"sequelize": "^6.21.3"
1317
},
1418
"devDependencies": {
1519
"nodemon": "^2.0.19"

Project/public/css/bootstrap.css

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)