Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • Atlas
  • YG
  • YJ
  • YoonGu
  • buy_with_email
  • finalmodify
  • hj
  • last
  • login
  • login-with-session
  • login_with_session
  • login_with_session2
  • mainPage
  • master
  • nodemailer완성
  • sell_YJ
  • transaction
  • 프론트UI,디비통신완료
  • 프론트엔드책목록받아오기
19 results

Target

Select target project
  • dragonash/majorbook---team202
1 result
Select Git revision
  • Atlas
  • YG
  • YJ
  • YoonGu
  • buy_with_email
  • finalmodify
  • hj
  • last
  • login
  • login-with-session
  • login_with_session
  • login_with_session2
  • mainPage
  • master
  • nodemailer완성
  • sell_YJ
  • transaction
  • 프론트UI,디비통신완료
  • 프론트엔드책목록받아오기
19 results
Show changes
Commits on Source (28)
Showing
with 385 additions and 47 deletions
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index');
var bookRouter = require('./routes/books');
var createError = require("http-errors");
var express = require("express");
var mongoose = require("mongoose");
var path = require("path");
var cookieParser = require("cookie-parser");
var bodyParser = require("body-parser");
var logger = require("morgan");
//var indexRouter = require("./routes/index");
var bookRouter = require("./routes/books");
var loginRouter = require("./routes/login");
//var usersRouter = require('./routes/users');
var app = express();
app.use(require('connect-history-api-fallback')());
mongoose.Promise = global.Promise;
var mongoDB = "mongodb://127.0.0.1:27017/test";
var promise = mongoose.connect(mongoDB, {
useMongoClient: true
});
//app.use(bodyParser.json());
app.use(require("connect-history-api-fallback")());
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "pug");
app.use(logger('dev'));
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(express.static(path.join(__dirname, "public")));
//app.use('/', indexRouter);
app.use("/api/books", bookRouter);
app.use("/api/login", loginRouter);
app.use('/', indexRouter);
app.use('/api/books', bookRouter);
//app.use('/users', usersRouter);
// catch 404 and forward to error handler
......@@ -35,11 +50,11 @@ app.use(function(req, res, next) {
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 : {};
res.locals.error = req.app.get("env") === "development" ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
res.render("error");
});
module.exports = app;
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
user: String,
name: String,
id: String,
password: String,
email: String,
isLoggedIn: Boolean,
create_date: { type:Date, default:Date.now }
});
// model을 user로 만들면 특별한 이름을 지정하지 않으면
// mongoDB에서 알아서 Collection name을 알아서 복수형으로 해줍니다
// 그리하여 Collection name은 users로 됩니다
module.exports = mongoose.model('user', userSchema);
\ No newline at end of file
......@@ -104,27 +104,61 @@
"safe-buffer": "5.1.2"
}
},
"bluebird": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
},
"body-parser": {
"version": "1.18.3",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
"integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
"integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
"requires": {
"bytes": "3.0.0",
"bytes": "3.1.0",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "~1.6.3",
"iconv-lite": "0.4.23",
"http-errors": "1.7.2",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
"qs": "6.5.2",
"raw-body": "2.3.3",
"type-is": "~1.6.16"
"qs": "6.7.0",
"raw-body": "2.4.0",
"type-is": "~1.6.17"
},
"dependencies": {
"http-errors": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
"integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
}
},
"setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
},
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
}
}
},
"bson": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.3.tgz",
"integrity": "sha512-TdiJxMVnodVS7r0BdL42y/pqC9cL2iKynVwA0Ho3qbsQYr428veL3l7BQyuqiw+Q5SqqoT0m4srSY/BlZ9AxXg=="
},
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
},
"camelcase": {
"version": "1.2.1",
......@@ -313,6 +347,54 @@
"type-is": "~1.6.16",
"utils-merge": "1.0.1",
"vary": "~1.1.2"
},
"dependencies": {
"body-parser": {
"version": "1.18.3",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
"integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
"requires": {
"bytes": "3.0.0",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "~1.6.3",
"iconv-lite": "0.4.23",
"on-finished": "~2.3.0",
"qs": "6.5.2",
"raw-body": "2.3.3",
"type-is": "~1.6.16"
}
},
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
},
"iconv-lite": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"raw-body": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
"integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
"requires": {
"bytes": "3.0.0",
"http-errors": "1.6.3",
"iconv-lite": "0.4.23",
"unpipe": "1.0.0"
}
}
}
},
"finalhandler": {
......@@ -369,9 +451,9 @@
}
},
"iconv-lite": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
......@@ -434,6 +516,11 @@
"promise": "^7.0.1"
}
},
"kareem": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz",
"integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw=="
},
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
......@@ -462,6 +549,12 @@
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"memory-pager": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
"optional": true
},
"merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
......@@ -490,6 +583,47 @@
"mime-db": "1.42.0"
}
},
"mongodb": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.4.tgz",
"integrity": "sha512-6fmHu3FJTpeZxacJcfjUGIP3BSteG0l2cxLkSrf1nnnS1OrlnVGiP9P/wAC4aB6dM6H4vQ2io8YDjkuPkje7AA==",
"requires": {
"bson": "^1.1.1",
"require_optional": "^1.0.1",
"safe-buffer": "^5.1.2",
"saslprep": "^1.0.0"
}
},
"mongoose": {
"version": "5.7.12",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.12.tgz",
"integrity": "sha512-TqRiJPUeHN1u7Xs/zQmiMHcrzEb1/uKjK3uGzZhyqw25RKQiMV2vSBeBTMt5HXoYlUuDEWXE75FMjpK9X9kD0w==",
"requires": {
"bson": "~1.1.1",
"kareem": "2.3.1",
"mongodb": "3.3.4",
"mongoose-legacy-pluralize": "1.0.2",
"mpath": "0.6.0",
"mquery": "3.2.2",
"ms": "2.1.2",
"regexp-clone": "1.0.0",
"safe-buffer": "5.1.2",
"sift": "7.0.1",
"sliced": "1.0.1"
},
"dependencies": {
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"mongoose-legacy-pluralize": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
"integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
},
"morgan": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz",
......@@ -502,6 +636,33 @@
"on-headers": "~1.0.1"
}
},
"mpath": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.6.0.tgz",
"integrity": "sha512-i75qh79MJ5Xo/sbhxrDrPSEG0H/mr1kcZXJ8dH6URU5jD/knFxCVqVC/gVSW7GIXL/9hHWlT9haLbCXWOll3qw=="
},
"mquery": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.2.tgz",
"integrity": "sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==",
"requires": {
"bluebird": "3.5.1",
"debug": "3.1.0",
"regexp-clone": "^1.0.0",
"safe-buffer": "5.1.2",
"sliced": "1.0.1"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "2.0.0"
}
}
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
......@@ -677,9 +838,9 @@
"integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA=="
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
},
"range-parser": {
"version": "1.2.1",
......@@ -687,14 +848,38 @@
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
},
"raw-body": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
"integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
"integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
"requires": {
"bytes": "3.0.0",
"http-errors": "1.6.3",
"iconv-lite": "0.4.23",
"bytes": "3.1.0",
"http-errors": "1.7.2",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
},
"dependencies": {
"http-errors": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
"integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
}
},
"setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
},
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
}
}
},
"regenerator-runtime": {
......@@ -702,11 +887,25 @@
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
},
"regexp-clone": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
"integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
},
"repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
},
"require_optional": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
"integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==",
"requires": {
"resolve-from": "^2.0.0",
"semver": "^5.1.0"
}
},
"resolve": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
......@@ -715,6 +914,11 @@
"path-parse": "^1.0.6"
}
},
"resolve-from": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
"integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
},
"right-align": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
......@@ -733,6 +937,20 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"saslprep": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
"integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
"optional": true,
"requires": {
"sparse-bitfield": "^3.0.3"
}
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
},
"send": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
......@@ -769,6 +987,16 @@
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
},
"sift": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz",
"integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g=="
},
"sliced": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
"integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
},
"source-map": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
......@@ -777,6 +1005,15 @@
"amdefine": ">=0.0.4"
}
},
"sparse-bitfield": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
"integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
"optional": true,
"requires": {
"memory-pager": "^1.0.2"
}
},
"statuses": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
......@@ -787,6 +1024,11 @@
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
"integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
},
"toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
"token-stream": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz",
......
......@@ -6,11 +6,13 @@
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "^1.19.0",
"connect-history-api-fallback": "^1.6.0",
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"express": "~4.16.1",
"express": "^4.16.4",
"http-errors": "~1.6.3",
"mongoose": "^5.7.12",
"morgan": "~1.9.1",
"pug": "2.0.0-beta11"
}
......
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>frontend</title><link href=/static/css/app.86a4513a3e04c0dcb73e6d6aea4580e4.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.2ae2e69a05c33dfc65f8.js></script><script type=text/javascript src=/static/js/vendor.cb29043f681d8df309ac.js></script><script type=text/javascript src=/static/js/app.724f1ed0ea7a0263e71c.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>majorbook</title><link href=/static/css/app.ec2d265986b1f9dcd1cffe8ec691bc1f.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.2ae2e69a05c33dfc65f8.js></script><script type=text/javascript src=/static/js/vendor.cb29043f681d8df309ac.js></script><script type=text/javascript src=/static/js/app.d7bc7e91d6675626d211.js></script></body></html>
{"version":3,"sources":["app.86a4513a3e04c0dcb73e6d6aea4580e4.css"],"names":[],"mappings":"AACA,KACE,6CAAmD,CACnD,kCAAmC,CACnC,iCAAkC,CAClC,iBAAkB,CAClB,aAAc,CACd,eACF","file":"app.86a4513a3e04c0dcb73e6d6aea4580e4.css","sourcesContent":["\n#app {\n font-family: 'Avenir', Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-align: center;\n color: #2c3e50;\n margin-top: 60px;\n}\n"]}
\ No newline at end of file
#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;margin-top:60px}
/*# sourceMappingURL=app.86a4513a3e04c0dcb73e6d6aea4580e4.css.map */
\ No newline at end of file
/*# sourceMappingURL=app.d23ad4f968f75bc1fdc1e08ce69223ca.css.map */
\ No newline at end of file
{"version":3,"sources":["app.d23ad4f968f75bc1fdc1e08ce69223ca.css"],"names":[],"mappings":"AACA,KACE,6CAAmD,CACnD,kCAAmC,CACnC,iCAAkC,CAClC,iBAAkB,CAClB,aAAc,CACd,eACF","file":"app.d23ad4f968f75bc1fdc1e08ce69223ca.css","sourcesContent":["\n#app {\r\n font-family: 'Avenir', Helvetica, Arial, sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n text-align: center;\r\n color: #2c3e50;\r\n margin-top: 60px;\n}\r\n"]}
\ No newline at end of file
#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;margin-top:60px}#app,body,html{text-align:center}body,html{margin:0;width:100%;font:14px Lucida Grande,Helvetica,Arial,sans-serif}.nav a{color:#00b7ff;text-align:center;padding-right:8%;padding-left:8%;font-size:18px;text-decoration:none}.nav{background-color:#333;overflow:hidden}.header{margin:15px;height:12%;font-size:10px}.btn{color:#00b7ff;background-color:#333;border-radius:15%}h1{text-align:left;font-size:35px}.section{height:500px}img{height:100%;width:100%}.aside{height:40px;background-color:#ffdc7b}.footer{height:20px;color:#fff;background-color:#333}.myPage{display:block;margin-left:auto;margin-right:auto;height:400px}
/*# sourceMappingURL=app.ec2d265986b1f9dcd1cffe8ec691bc1f.css.map */
\ No newline at end of file
{"version":3,"sources":["app.ec2d265986b1f9dcd1cffe8ec691bc1f.css"],"names":[],"mappings":"AACA,KACE,6CAAmD,CACnD,kCAAmC,CACnC,iCAAkC,CAElC,aAAc,CACd,eACF,CAEA,eALE,iBAUF,CALA,UAEE,QAAQ,CACR,UAAU,CACV,kDACF,CACA,OACE,aAAc,CACd,iBAAkB,CAClB,gBAAiB,CACjB,eAAgB,CAChB,cAAe,CACf,oBACF,CACA,KACE,qBAAqB,CACrB,eACF,CACA,QACE,WAAY,CACZ,UAAW,CACX,cACF,CACA,KACE,aAAc,CACd,qBAAsB,CACtB,iBACF,CACA,GACE,eAAgB,CAChB,cACF,CACA,SACE,YACF,CACA,IACE,WAAY,CACZ,UACF,CACA,OACC,WAAY,CACZ,wBACD,CACA,QACC,WAAY,CACZ,UAAW,CACX,qBACD,CACA,QACE,aAAc,CACd,gBAAiB,CACjB,iBAAkB,CAClB,YACF","file":"app.ec2d265986b1f9dcd1cffe8ec691bc1f.css","sourcesContent":["\n#app {\n font-family: 'Avenir', Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-align: center;\n color: #2c3e50;\n margin-top: 60px;\n}\n\nhtml,body {\r\n text-align: center;\r\n margin:0;\r\n width:100%;\r\n font: 14px \"Lucida Grande\", Helvetica, Arial, sans-serif;\n}\n.nav a {\r\n color: #00B7FF;\r\n text-align: center;\r\n padding-right: 8%;\r\n padding-left: 8%;\r\n font-size: 18px;\r\n text-decoration: none;\n}\n.nav {\r\n background-color:#333;\r\n overflow:hidden;\n}\n.header{\r\n margin: 15px;\r\n height: 12%;\r\n font-size: 10px;\n}\n.btn{\r\n color: #00B7FF;\r\n background-color: #333;\r\n border-radius: 15%;\n}\nh1{ \r\n text-align: left;\r\n font-size: 35px;\n}\n.section{\r\n height: 500px;\n}\nimg{\r\n height: 100%;\r\n width: 100%;\n}\n.aside{\r\n height: 40px;\r\n background-color:rgb(255, 220, 123);\n}\n.footer{\r\n height: 20px;\r\n color:white;\r\n background-color:#333;\n}\n.myPage{\r\n display: block;\r\n margin-left: auto;\r\n margin-right: auto;\r\n height: 400px;\n}\r\n\r\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"]}
\ No newline at end of file
backend/public/static/img/book-open-flat.a6d64f7.png

22.2 KiB

backend/public/static/img/img1.e3d64af.jpg

1.89 MiB

backend/public/static/img/img1.jpg

1.89 MiB

webpackJsonp([1],{NHnr:function(t,o,n){"use strict";Object.defineProperty(o,"__esModule",{value:!0});var e=n("7+uW"),s={render:function(){var t=this.$createElement,o=this._self._c||t;return o("div",{attrs:{id:"app"}},[o("img",{attrs:{src:n("R0yh")}}),this._v(" "),o("router-view")],1)},staticRenderFns:[]};var r=n("VU/8")({name:"App"},s,!1,function(t){n("i+00")},null,null).exports,i=n("/ocq"),a={created:function(){var t=this;this.$http.get("/api/books").then(function(o){t.books=o.data})},data:function(){return{books:[]}},methods:{increaseSellCount:function(){this.book.sellcount+=1,this.$http.post("/api/books",this.book).then(function(t){console.log("Increase Buy count success")}).catch(function(t){console.log("Increase Buy count fail")})}}},c={render:function(){var t=this,o=t.$createElement,n=t._self._c||o;return n("div",{staticClass:"books"},[n("h1",[t._v("서적 목록")]),t._v(" "),t._l(t.books,function(o){return n("div",{key:o.id,staticClass:"book"},[n("img",{staticClass:"cover",attrs:{src:o.cover}}),t._v(" "),n("div",[n("strong",[t._v("제목: "+t._s(o.name))]),t._v(" "),n("br"),t._v(" "),n("i",[t._v("작가: "+t._s(o.author))]),t._v(" "),n("br"),t._v("\n 출판사: "+t._s(o.publisher)+"\n "),n("router-link",{attrs:{to:{name:"bookdetail",params:{id:o.id}}}},[t._v("더보기")]),t._v(" "),n("div",[n("button",{on:{click:function(t){o.buycount++}}},[t._v("구매")]),t._v(" 구매현황: "+t._s(o.buycount)+"\n "),n("button",{on:{click:function(t){o.sellcount++}}},[t._v("판매")]),t._v(" 판매현황: "+t._s(o.sellcount)+"\n ")]),t._v(" "),n("hr")],1)])})],2)},staticRenderFns:[]},u=n("VU/8")(a,c,!1,null,null,null).exports,l={render:function(){var t=this,o=t.$createElement,n=t._self._c||o;return n("div",[n("h1",[t._v("상세 내용")]),t._v(" "),n("img",{staticClass:"cover",attrs:{src:t.book.cover}}),t._v(" "),n("div",[n("strong",[t._v("제목: "+t._s(t.book.name))]),t._v(" "),n("br"),t._v(" "),n("i",[t._v("작가: "+t._s(t.book.author))]),t._v(" "),n("br"),t._v("\n 출판사: "+t._s(t.book.publisher)+"\n "),n("p",[t._v(" 도서 소개: "+t._s(t.book.description)+" ")]),t._v(" "),n("router-link",{attrs:{to:{name:"bookindex"}}},[t._v("돌아가기")])],1)])},staticRenderFns:[]},v=n("VU/8")({created:function(){var t=this,o=this.$route.params.id;this.$http.get("/api/books/"+o).then(function(o){t.book=o.data[0]})},data:function(){return{book:{}}}},l,!1,null,null,null).exports;e.a.use(i.a);var _=new i.a({mode:"history",routes:[{path:"/",name:"bookindex",component:u},{path:"/:id",name:"bookdetail",component:v}]}),p=n("mtWM"),d=n.n(p);e.a.prototype.$http=d.a,e.a.config.productionTip=!1,new e.a({el:"#app",router:_,components:{App:r},template:"<App/>"})},R0yh:function(t,o,n){t.exports=n.p+"static/img/book-open-flat.a6d64f7.png"},"i+00":function(t,o){}},["NHnr"]);
//# sourceMappingURL=app.1c070e861afe7dc1467b.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///./src/App.vue?68f6","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///src/components/BookIndexPage.vue","webpack:///./src/components/BookIndexPage.vue?8278","webpack:///./src/components/BookIndexPage.vue","webpack:///./src/components/BookShowPage.vue?3f57","webpack:///./src/components/BookShowPage.vue","webpack:///src/components/BookShowPage.vue","webpack:///./src/router/index.js","webpack:///./src/main.js","webpack:///./src/assets/book-open-flat.png"],"names":["selectortype_template_index_0_src_App","render","_h","this","$createElement","_c","_self","attrs","id","src","__webpack_require__","_v","staticRenderFns","src_App","normalizeComponent","name","ssrContext","BookIndexPage","created","_this","$http","get","then","response","books","data","methods","increaseSellCount","book","sellcount","post","res","console","log","catch","err","components_BookIndexPage","_vm","staticClass","_l","key","cover","_s","author","publisher","to","params","on","click","$event","buycount","src_components_BookIndexPage","BookIndexPage_normalizeComponent","components_BookShowPage","description","src_components_BookShowPage","BookShowPage_normalizeComponent","$route","Vue","use","Router","router","mode","routes","path","component","BookShowPage","prototype","axios","config","productionTip","el","components","App","template","module","exports","p"],"mappings":"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","file":"static/js/app.1c070e861afe7dc1467b.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('img',{attrs:{\"src\":require(\"./assets/book-open-flat.png\")}}),_vm._v(\" \"),_c('router-view')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2556a522\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2556a522\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2556a522\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","<template>\r\n <div id=\"app\">\r\n <img src=\"./assets/book-open-flat.png\">\r\n <router-view/>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'App'\r\n}\r\n</script>\r\n\r\n<style>\r\n#app {\r\n font-family: 'Avenir', Helvetica, Arial, sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n text-align: center;\r\n color: #2c3e50;\r\n margin-top: 60px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","<template>\r\n <div class=\"books\">\r\n <h1>서적 목록</h1>\r\n <div v-for=\"book in books\" class=\"book\" v-bind:key=\"book.id\">\r\n <img v-bind:src=\"book.cover\" class=\"cover\">\r\n <div>\r\n <strong>제목: {{book.name}}</strong> <br />\r\n <i>작가: {{book.author}}</i> <br />\r\n 출판사: {{book.publisher}}\r\n <router-link :to=\"{ name: 'bookdetail', params: { id: book.id }}\">더보기</router-link>\r\n \r\n <div>\r\n <button v-on:click=\"book.buycount++\">구매</button> 구매현황: {{book.buycount}}\r\n <button v-on:click=\"book.sellcount++\">판매</button> 판매현황: {{book.sellcount}}\r\n </div>\r\n \r\n <hr />\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n created() {\r\n this.$http.get('/api/books').then((response) => {\r\n this.books = response.data;\r\n });\r\n },\r\n data() {\r\n return {\r\n books: [],\r\n };\r\n },\r\n methods: {\r\n increaseSellCount() {\r\n this.book.sellcount += 1;\r\n this.$http.post(\"/api/books\", this.book)\r\n .then(res => {\r\n console.log('Increase Buy count success'); \r\n })\r\n .catch(err => {\r\n console.log('Increase Buy count fail');\r\n });\r\n // this.$router.push({ name: 'bookdetail' });\r\n }\r\n }\r\n};\r\n</script>\n\n\n// WEBPACK FOOTER //\n// src/components/BookIndexPage.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"books\"},[_c('h1',[_vm._v(\"서적 목록\")]),_vm._v(\" \"),_vm._l((_vm.books),function(book){return _c('div',{key:book.id,staticClass:\"book\"},[_c('img',{staticClass:\"cover\",attrs:{\"src\":book.cover}}),_vm._v(\" \"),_c('div',[_c('strong',[_vm._v(\"제목: \"+_vm._s(book.name))]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('i',[_vm._v(\"작가: \"+_vm._s(book.author))]),_vm._v(\" \"),_c('br'),_vm._v(\"\\n 출판사: \"+_vm._s(book.publisher)+\"\\n \"),_c('router-link',{attrs:{\"to\":{ name: 'bookdetail', params: { id: book.id }}}},[_vm._v(\"더보기\")]),_vm._v(\" \"),_c('div',[_c('button',{on:{\"click\":function($event){book.buycount++}}},[_vm._v(\"구매\")]),_vm._v(\" 구매현황: \"+_vm._s(book.buycount)+\"\\n \"),_c('button',{on:{\"click\":function($event){book.sellcount++}}},[_vm._v(\"판매\")]),_vm._v(\" 판매현황: \"+_vm._s(book.sellcount)+\"\\n \")]),_vm._v(\" \"),_c('hr')],1)])})],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-405635e5\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/BookIndexPage.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BookIndexPage.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BookIndexPage.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-405635e5\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./BookIndexPage.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/BookIndexPage.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',[_vm._v(\"상세 내용\")]),_vm._v(\" \"),_c('img',{staticClass:\"cover\",attrs:{\"src\":_vm.book.cover}}),_vm._v(\" \"),_c('div',[_c('strong',[_vm._v(\"제목: \"+_vm._s(_vm.book.name))]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('i',[_vm._v(\"작가: \"+_vm._s(_vm.book.author))]),_vm._v(\" \"),_c('br'),_vm._v(\"\\n 출판사: \"+_vm._s(_vm.book.publisher)+\"\\n \"),_c('p',[_vm._v(\" 도서 소개: \"+_vm._s(_vm.book.description)+\" \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'bookindex' }}},[_vm._v(\"돌아가기\")])],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3a40b3bd\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/BookShowPage.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BookShowPage.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BookShowPage.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3a40b3bd\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./BookShowPage.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/BookShowPage.vue\n// module id = null\n// module chunks = ","<template>\r\n <div>\r\n <h1>상세 내용</h1>\r\n <img v-bind:src=\"book.cover\" class=\"cover\">\r\n <div>\r\n <strong>제목: {{book.name}}</strong> <br />\r\n <i>작가: {{book.author}}</i> <br />\r\n 출판사: {{book.publisher}}\r\n <p> 도서 소개: {{book.description}} </p>\r\n <router-link :to=\"{ name: 'bookindex' }\">돌아가기</router-link>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n created: function() {\r\n var id = this.$route.params.id;\r\n this.$http.get(`/api/books/${id}`).then((response) => {\r\n this.book = response.data[0];\r\n });\r\n },\r\n data: function() {\r\n return {\r\n book: {}\r\n };\r\n }\r\n};\r\n</script>\n\n\n// WEBPACK FOOTER //\n// src/components/BookShowPage.vue","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\n\r\nVue.use(Router)\r\n\r\n//import IndexPage from '@/components/IndexPage'\r\nimport BookIndexPage from '@/components/BookIndexPage'\r\nimport BookShowPage from '@/components/BookShowPage'\r\n\r\nexport default new Router({\r\n mode: 'history',\r\n routes: [\r\n // {\r\n // path: '/',\r\n // name: 'IndexPage',\r\n // component: IndexPage\r\n // },\r\n\r\n {\r\n path: '/',\r\n name: 'bookindex',\r\n component: BookIndexPage\r\n },\r\n {\r\n path: '/:id',\r\n name: 'bookdetail',\r\n component: BookShowPage\r\n }\r\n ]\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport Vue from 'vue'\r\nimport App from './App'\r\nimport router from './router'\r\nimport axios from 'axios'\r\n\r\nVue.prototype.$http = axios\r\nVue.config.productionTip = false\r\n\r\n/* eslint-disable no-new */\r\nnew Vue({\r\n el: '#app',\r\n router,\r\n components: { App },\r\n template: '<App/>'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","module.exports = __webpack_public_path__ + \"static/img/book-open-flat.a6d64f7.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/book-open-flat.png\n// module id = R0yh\n// module chunks = 1"],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([1],{"+SDp":function(t,e){},"4+hh":function(t,e){},"7fcB":function(t,e){},Jcvg:function(t,e){},NHnr:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s=n("7+uW"),o={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-div",{attrs:{id:"app"}},[n("v-btn",{attrs:{color:"#47C83E"}},[t._v("Success")]),t._v(" "),n("v-btn",{attrs:{color:"error"}},[t._v("Error")]),t._v(" "),n("v-btn",{attrs:{color:"warning"}},[t._v("Warning")]),t._v(" "),n("v-btn",{attrs:{color:"info"}},[t._v("Info")]),t._v(" "),n("router-view")],1)},staticRenderFns:[]};var r=n("VU/8")({name:"App"},o,!1,function(t){n("iA9R")},null,null).exports,a=n("/ocq"),i={data:function(){return{user:{id:"",password:""},flag:!1}},computed:{changeID:function(){this.id=""+this.id},changePWD:function(){this.pwd=""+this.pwd},logged_io:function(){return!this.flag}},methods:{login:function(t){this.$http.post("/api/login/checkLogin",{user:this.user}).then(function(t){alert("success login")},function(t){alert(t.response.data.error)}).catch(function(t){alert(t)})}}},u={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("html",{attrs:{lang:"en"}},[t._m(0),t._v(" "),n("body",[n("header",{staticClass:"header"},[n("h1",[t._v("Majorbook")]),t._v(" "),n("div",{attrs:{align:"right"}},[t.logged_io?[t._v("\n ID : "),n("input",{directives:[{name:"model",rawName:"v-model",value:t.user.id,expression:"user.id"}],attrs:{placeholder:"ID",type:"text",required:""},domProps:{value:t.user.id},on:{input:function(e){e.target.composing||t.$set(t.user,"id",e.target.value)}}}),t._v("\n PASSWORD : "),n("input",{directives:[{name:"model",rawName:"v-model",value:t.user.password,expression:"user.password"}],attrs:{placeholder:"password",type:"password",required:""},domProps:{value:t.user.password},on:{input:function(e){e.target.composing||t.$set(t.user,"password",e.target.value)}}}),t._v(" "),n("button",{on:{click:t.login}},[t._v("Login")]),t._v(" "),t._m(1)]:[n("button",{staticClass:"btn"},[t._v("거래현황")]),t._v(" "),n("button",{staticClass:"btn",on:{click:t.logout}},[t._v("Logout")])]],2)]),t._v(" "),n("nav",{staticClass:"nav"},[n("router-link",{attrs:{to:"/myPage"}},[t._v("my Page")]),t._v(" "),n("router-link",{attrs:{to:"/buy"}},[t._v("buy")]),t._v(" "),n("router-link",{attrs:{to:"/sell"}},[t._v("sell")]),t._v(" "),n("router-link",{attrs:{to:"/BookIndexPage"}},[t._v("전공서적보기")])],1),t._v(" "),t._m(2),t._v(" "),n("aside",{staticClass:"aside"},[t._v(" 이용방법\n ")]),t._v(" "),n("footer",{staticClass:"footer"},[t._v("Implemented by 202-WebSysDesign")])])])},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("head",[e("title",[this._v("Majorbook")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("button",[e("a",{attrs:{href:"/login/signUp"}},[this._v("Sign up")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("section",{staticClass:"section"},[e("img",{attrs:{src:n("ma8u")}})])}]};var l=n("VU/8")(i,u,!1,function(t){n("+SDp")},null,null).exports,c={render:function(){this.$createElement;this._self._c;return this._m(0)},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("html",{attrs:{lang:"en"}},[e("head",[e("meta",{attrs:{charset:"UTF-8"}}),this._v(" "),e("meta",{attrs:{name:"viewport",content:"width=device-width, initial-scale=1.0"}}),this._v(" "),e("title",[this._v("Majorbook-My Page")])]),this._v(" "),e("body",[e("h1",[this._v("My Page")]),this._v(" "),e("button",[this._v("수정하기")])])])}]},d=n("VU/8")(null,c,!1,null,null,null).exports,v={render:function(){var t=this.$createElement;return(this._self._c||t)("h1",[this._v(" buy")])},staticRenderFns:[]};var p=n("VU/8")({data:function(){return{name:"",univ:"",email:""}},computed:{},methods:{}},v,!1,function(t){n("Jcvg")},null,null).exports,m={render:function(){var t=this.$createElement;return(this._self._c||t)("h1",[this._v(" sell ")])},staticRenderFns:[]};var _=n("VU/8")({data:function(){return{name:"",univ:"",email:""}},computed:{},methods:{}},m,!1,function(t){n("7fcB")},null,null).exports,h={created:function(){var t=this;this.$http.get("/api/books").then(function(e){t.books=e.data})},data:function(){return{books:[]}},methods:{increaseSellCount:function(){this.book.sellcount+=1,this.$http.post("/api/books",this.book).then(function(t){console.log("Increase Buy count success")}).catch(function(t){console.log("Increase Buy count fail")})}}},f={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"books"},[n("h1",[t._v("서적 목록")]),t._v(" "),t._l(t.books,function(e){return n("div",{key:e.id,staticClass:"book"},[n("img",{staticClass:"cover",attrs:{src:e.cover}}),t._v(" "),n("div",[n("strong",[t._v("제목: "+t._s(e.name))]),t._v(" "),n("br"),t._v(" "),n("i",[t._v("작가: "+t._s(e.author))]),t._v(" "),n("br"),t._v("\n 출판사: "+t._s(e.publisher)+"\n "),n("router-link",{attrs:{to:{name:"bookdetail",params:{id:e.id}}}},[t._v("더보기")]),t._v(" "),n("div",[n("button",{on:{click:function(t){e.buycount++}}},[t._v("구매")]),t._v(" 구매현황: "+t._s(e.buycount)+"\n "),n("button",{on:{click:function(t){e.sellcount++}}},[t._v("판매")]),t._v(" 판매현황: "+t._s(e.sellcount)+"\n ")]),t._v(" "),n("hr")],1)])})],2)},staticRenderFns:[]},g=n("VU/8")(h,f,!1,null,null,null).exports,b={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("h1",[t._v("상세 내용")]),t._v(" "),n("img",{staticClass:"cover",attrs:{src:t.book.cover}}),t._v(" "),n("div",[n("strong",[t._v("제목: "+t._s(t.book.name))]),t._v(" "),n("br"),t._v(" "),n("i",[t._v("작가: "+t._s(t.book.author))]),t._v(" "),n("br"),t._v("\n 출판사: "+t._s(t.book.publisher)+"\n "),n("p",[t._v(" 도서 소개: "+t._s(t.book.description)+" ")]),t._v(" "),n("router-link",{attrs:{to:{name:"bookindex"}}},[t._v("돌아가기")])],1)])},staticRenderFns:[]},k=n("VU/8")({created:function(){var t=this,e=this.$route.params.id;this.$http.get("/api/books/"+e).then(function(e){t.book=e.data[0]})},data:function(){return{book:{}}}},b,!1,null,null,null).exports,w={data:function(){return{user:{id:"",password:""},url:{signUpUrl:"/login/signUp"}}},methods:{login:function(t){this.$http.post("/api/login/checkLogin",{user:this.user}).then(function(t){alert("success login")},function(t){alert(t.response.data.error)}).catch(function(t){alert(t)})}}},y={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"login"}},[n("div",[t._v(" Login ")]),t._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:t.user.id,expression:"user.id"}],attrs:{placeholder:"ID"},domProps:{value:t.user.id},on:{input:function(e){e.target.composing||t.$set(t.user,"id",e.target.value)}}}),t._v(" "),n("br"),t._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:t.user.password,expression:"user.password"}],attrs:{type:"password",placeholder:"password"},domProps:{value:t.user.password},on:{input:function(e){e.target.composing||t.$set(t.user,"password",e.target.value)}}}),t._v(" "),n("button",{on:{click:t.login}},[t._v("login")]),t._v(" "),n("a",{attrs:{href:t.url.signUpUrl}},[t._v(" Sign up ")])])},staticRenderFns:[]},$=n("VU/8")(w,y,!1,null,null,null).exports,x=n("Lgyv"),U=n.n(x);n("4+hh");s.default.use(U.a);var P={data:function(){return{user:{id:"",password:"",name:""}}},methods:{signUp:function(t){var e=this;this.$http.post("/api/login/signUp",{user:this.user}).then(function(t){0===t.data.result&&alert("Error, please, try again"),1===t.data.result&&(alert("Success"),e.$router.push("/"))}).catch(function(t){alert("error")})}}},E={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"SignUp"}},[n("md-card",[n("md-card-header",[n("div",{staticClass:"md-title"},[t._v(" Sign Up")])]),t._v(" "),n("md-card-content",[t._v("\n name : "),n("input",{directives:[{name:"model",rawName:"v-model",value:t.user.name,expression:"user.name"}],attrs:{placeholder:"name"},domProps:{value:t.user.name},on:{input:function(e){e.target.composing||t.$set(t.user,"name",e.target.value)}}}),t._v(" "),n("br"),t._v("\n ID : "),n("input",{directives:[{name:"model",rawName:"v-model",value:t.user.id,expression:"user.id"}],attrs:{placeholder:"ID"},domProps:{value:t.user.id},on:{input:function(e){e.target.composing||t.$set(t.user,"id",e.target.value)}}}),t._v(" "),n("br"),t._v(" \n Password : "),n("input",{directives:[{name:"model",rawName:"v-model",value:t.user.password,expression:"user.password"}],attrs:{type:"password",placeholder:"password"},domProps:{value:t.user.password},on:{input:function(e){e.target.composing||t.$set(t.user,"password",e.target.value)}}})]),t._v(" "),n("md-card-actions",[n("md-button",{on:{click:t.signUp}},[t._v("SignUp")])],1)],1)],1)},staticRenderFns:[]};var C=n("VU/8")(P,E,!1,function(t){n(!function(){var t=new Error('Cannot find module "!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{"omit":1,"remove":true}!vue-style-loader!css-loader?{"sourceMap":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{"vue":true,"id":"data-v-edf8fa04","scoped":true,"hasInlineConfig":false}!sass-loader?{"sourceMap":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SignUp.vue"');throw t.code="MODULE_NOT_FOUND",t}())},"data-v-edf8fa04",null).exports;s.default.use(a.a);var S=new a.a({mode:"history",routes:[{path:"/",name:"home",component:l},{path:"/myPage",name:"myPage",component:d},{path:"/buy",name:"buy",component:p},{path:"/sell",name:"sell",component:_},{path:"/BookIndexPage",name:"bookindex",component:g},{path:"/BookIndexPage:id",name:"bookdetail",component:k},{path:"/login",name:"Login",component:$},{path:"/login/signUp",name:"SignUp",component:C}]}),I=n("mtWM"),D=n.n(I);s.default.prototype.$http=D.a,s.default.config.productionTip=!1,new s.default({el:"#app",router:S,components:{App:r},template:"<App/>"})},iA9R:function(t,e){},ma8u:function(t,e,n){t.exports=n.p+"static/img/img1.e3d64af.jpg"}},["NHnr"]);
//# sourceMappingURL=app.5d532d316e2a3bb58324.js.map
\ No newline at end of file
This diff is collapsed.
webpackJsonp([1],{"7Otq":function(t,i){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk2QkI4RkE3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk2QkI4Rjk3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU2QTEyNzk3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU2QTEyN0E3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5WHowqAAAXNElEQVR42uxda4xd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"},NHnr:function(t,i,n){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var e=n("7+uW"),s={render:function(){var t=this.$createElement,i=this._self._c||t;return i("div",{attrs:{id:"app"}},[i("img",{attrs:{src:n("7Otq")}}),this._v(" "),i("router-view")],1)},staticRenderFns:[]};var c=n("VU/8")({name:"App"},s,!1,function(t){n("Yz1H")},null,null).exports,a=n("/ocq"),o={render:function(){var t=this,i=t.$createElement,n=t._self._c||i;return n("div",{staticClass:"books"},[n("h1",[t._v("서적 목록")]),t._v(" "),t._l(t.books,function(i){return n("div",{key:i.id,staticClass:"book"},[n("img",{staticClass:"cover",attrs:{src:i.cover}}),t._v(" "),n("div",[n("strong",[t._v(t._s(i.name))]),t._v(", "),n("i",[t._v(t._s(i.director))]),t._v(" "+t._s(i.year)+"\n "),n("router-link",{attrs:{to:{name:"bookdetail",params:{id:i.id}}}},[t._v("더보기")])],1)])})],2)},staticRenderFns:[]},r=n("VU/8")({created:function(){var t=this;this.$http.get("/api/books").then(function(i){t.books=i.data})},data:function(){return{books:[]}}},o,!1,null,null,null).exports,l={render:function(){var t=this,i=t.$createElement,n=t._self._c||i;return n("div",[n("h1",[t._v("상세 내용")]),t._v(" "),n("img",{staticClass:"cover",attrs:{src:t.book.cover}}),t._v(" "),n("div",[n("strong",[t._v(t._s(t.book.name))]),t._v(" - "),n("i",[t._v(t._s(t.book.director))]),t._v(" \n ["+t._s(t.book.year)+"]\n "),n("p",[t._v(" "+t._s(t.book.description)+" ")]),t._v(" "),n("router-link",{attrs:{to:{name:"bookindex"}}},[t._v("돌아가기")])],1)])},staticRenderFns:[]},k=n("VU/8")({created:function(){var t=this,i=this.$route.params.id;this.$http.get("/api/books/"+i).then(function(i){t.book=i.data[0]})},data:function(){return{book:{}}}},l,!1,null,null,null).exports;e.a.use(a.a);var I=new a.a({mode:"history",routes:[{path:"/",name:"bookindex",component:r},{path:"/:id",name:"bookdetail",component:k}]}),h=n("mtWM"),u=n.n(h);e.a.prototype.$http=u.a,e.a.config.productionTip=!1,new e.a({el:"#app",router:I,components:{App:c},template:"<App/>"})},Yz1H:function(t,i){}},["NHnr"]);
//# sourceMappingURL=app.724f1ed0ea7a0263e71c.js.map
\ No newline at end of file