Skip to content
Snippets Groups Projects
Commit b4bcee73 authored by Kim Siwon's avatar Kim Siwon
Browse files

first init

parents
Branches
No related tags found
No related merge requests found
Pipeline #3262 canceled
node_modules/
app.js 0 → 100644
var createError = require('http-errors');
var express = require('express');
var path = require('path');
const bodyParser = require('body-parser')
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index');
var resultRouter = require('./routes/result');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
/* Express의 라우터에서 POST 값을 읽어오기 위한 미들웨어 추가 */
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: false}))
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/result', resultRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
bin/www 0 → 100644
#!/usr/bin/env node
/**
* Module dependencies.
*/
var app = require('../app');
var debug = require('debug')('untitled2:server');
var http = require('http');
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
/**
* Normalize a port into a number, string, or false.
*/
function normalizePort(val) {
var port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
/**
* Event listener for HTTP server "error" event.
*/
function onError(error) {
if (error.syscall !== 'listen') {
throw error;
}
var bind = typeof port === 'string'
? 'Pipe ' + port
: 'Port ' + port;
// handle specific listen errors with friendly messages
switch (error.code) {
case 'EACCES':
console.error(bind + ' requires elevated privileges');
process.exit(1);
break;
case 'EADDRINUSE':
console.error(bind + ' is already in use');
process.exit(1);
break;
default:
throw error;
}
}
/**
* Event listener for HTTP server "listening" event.
*/
function onListening() {
var addr = server.address();
var bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
debug('Listening on ' + bind);
}
{
"name": "untitled2",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "^1.19.0",
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"express": "~4.16.1",
"http-errors": "~1.6.3",
"morgan": "~1.9.1",
"pug": "2.0.0-beta11"
}
}
public/images/Mark_Ruffalo.jpg

8.3 KiB

public/images/poster_1.jpg

320 KiB

public/images/poster_2.jpg

225 KiB

public/images/poster_3.jpg

67.9 KiB

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 53.867 53.867" style="enable-background:new 0 0 53.867 53.867;" xml:space="preserve">
<polygon style="fill:#EFCE4A;" points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>
* {
text-align:center;
}
article {
padding: 20px;
border: 1px solid;
}
.poster {
width:400px;
height:500px;
}
.rating {
width:30px;
height:30px;
}
.btn-back {
margin:10px;
}
\ No newline at end of file
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.post('/', function(req, res, next) {
res.render('result', {data: req.body}) // POST의 argument를 적용하여 layout/result 응답
});
module.exports = router;
extends layout
block content
h1= message
h2= error.status
pre #{error.stack}
extends layout
block content
h1 Ajou Movie Information
form(action='/result', method='POST')
h3 Register Movie
p Please enter the movie information to add a review.
p
input(type='text' name='name' placeholder='Movie Name')
p
input(type='text' name='actors' placeholder='Starring Actors')
p
input(type='text' name='genre' placeholder='Genre Type')
p
input(type='text' name='poster' placeholder='Poster (image url)')
p Movie Ratings
label 0
input(type="radio", name="rating", value="0")
label 1
input(type="radio", name="rating", value="1")
label 2
input(type="radio", name="rating", value="2")
label 3
input(type="radio", name="rating", value="3")
label 4
input(type="radio", name="rating", value="4")
label 5
input(type="radio", name="rating", value="5")
p
input(type='submit')
\ No newline at end of file
doctype html
html
head
title= title
link(rel='stylesheet', href='/stylesheets/style.css')
body
block content
\ No newline at end of file
extends layout
block content
article
img(class="poster" src=`${data.poster}`)
h1 #{data.name}
hr(size='3px')
p #{data.actors}
p #{data.genre}
hr(size='3px')
p
- let i=0;
while i < data.rating
img(class='rating' src='/images/star.svg')
- ++i;
button(class='btn-back')
a(href='/') Go Home
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment