Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
N
nodejs-60-2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nontawat kanboon
nodejs-60-2
Commits
2671163a
Commit
2671163a
authored
Apr 04, 2018
by
nontawat kanboon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push สำเร็จ
parent
b2500999
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
589 additions
and
0 deletions
+589
-0
.server.js.swp
week10-11/crudwebapp/.server.js.swp
+0
-0
custom.min.css
week10-11/crudwebapp/custom.min.css
+0
-0
index.html
week10-11/crudwebapp/index.html
+123
-0
package-lock.json
week10-11/crudwebapp/package-lock.json
+403
-0
package.json
week10-11/crudwebapp/package.json
+28
-0
server.js
week10-11/crudwebapp/server.js
+35
-0
No files found.
week10-11/crudwebapp/.server.js.swp
0 → 100644
View file @
2671163a
File added
week10-11/crudwebapp/custom.min.css
0 → 100644
View file @
2671163a
week10-11/crudwebapp/index.html
0 → 100644
View file @
2671163a
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
name=
"msapplication-tap-highlight"
content=
"no"
>
<meta
name=
"description"
content=
"Materialize is a Material Design Admin Template,It's modern, responsive and based on Material Design by Google. "
>
<meta
name=
"keywords"
content=
"materialize, admin template, dashboard template, flat admin template, responsive admin template,"
>
<title>
Login Page | Materialize - Material Design Admin Template
</title>
<!-- Favicons-->
<link
rel=
"icon"
href=
"images/favicon/favicon-32x32.png"
sizes=
"32x32"
>
<!-- Favicons-->
<link
rel=
"apple-touch-icon-precomposed"
href=
"images/favicon/apple-touch-icon-152x152.png"
>
<!-- For iPhone -->
<meta
name=
"msapplication-TileColor"
content=
"#00bcd4"
>
<meta
name=
"msapplication-TileImage"
content=
"images/favicon/mstile-144x144.png"
>
<!-- For Windows Phone -->
<!-- CORE CSS-->
<link
href=
"css/materialize.min.css"
type=
"text/css"
rel=
"stylesheet"
media=
"screen,projection"
>
<link
href=
"css/style.min.css"
type=
"text/css"
rel=
"stylesheet"
media=
"screen,projection"
>
<!-- Custome CSS-->
<link
href=
"http://demo.geekslabs.com/materialize-v1.0/css/custom/custom.min.css"
type=
"text/css"
rel=
"stylesheet"
media=
"screen,projection"
>
<link
href=
"http://demo.geekslabs.com/materialize-v1.0/css/layouts/page-center.css"
type=
"text/css"
rel=
"stylesheet"
media=
"screen,projection"
>
<!-- Compiled and minified CSS -->
<link
rel=
"stylesheet"
href=
"https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/css/materialize.min.css"
>
<!-- Compiled and minified JavaScript -->
<script
src=
"https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js"
></script>
<!-- INCLUDED PLUGIN CSS ON THIS PAGE -->
<link
href=
"http://demo.geekslabs.com/materialize-v1.0/js/plugins/prism/prism.css"
type=
"text/css"
rel=
"stylesheet"
media=
"screen,projection"
>
<link
href=
"http://demo.geekslabs.com/materialize-v1.0/js/plugins/perfect-scrollbar/perfect-scrollbar.css"
type=
"text/css"
rel=
"stylesheet"
media=
"screen,projection"
>
</head>
<body
class=
"cyan"
>
<!-- Start Page Loading -->
<div
id=
"loader-wrapper"
>
<div
id=
"loader"
></div>
<div
class=
"loader-section section-left"
></div>
<div
class=
"loader-section section-right"
></div>
</div>
<!-- End Page Loading -->
<div
id=
"login-page"
class=
"row"
>
<div
class=
"col s12 z-depth-4 card-panel"
>
<form
class=
"login-form"
action=
"/quotes"
method=
"POST"
>
<div
class=
"row"
>
<div
class=
"input-field col s12 center"
>
<img
src=
"http://demo.geekslabs.com/materialize-v1.0/images/login-logo.png"
alt=
""
class=
"circle responsive-img valign profile-image-login"
>
<p
class=
"center login-form-text"
>
Material Design Admin Template
</p>
</div>
</div>
<div
class=
"row margin"
>
<div
class=
"input-field col s12"
>
<i
class=
"mdi-social-person-outline prefix"
></i>
<input
id=
"name"
type=
"text"
name=
"name"
>
<label
for=
"name"
class=
"center-align"
>
Name
</label>
</div>
</div>
<div
class=
"row margin"
>
<div
class=
"input-field col s12"
>
<i
class=
"mdi-action-lock-outline prefix"
></i>
<input
id=
"quote"
type=
"text"
name=
"quote"
>
<label
for=
"quote"
>
Quote
</label>
</div>
</div>
<div
class=
"row"
>
<div
class=
"input-field col s12 m12 l12 login-text"
>
<input
type=
"checkbox"
id=
"remember-me"
/>
<label
for=
"remember-me"
>
Remember me
</label>
</div>
</div>
<div
class=
"row"
>
<div
class=
"input-field col s12"
>
<button
type=
"submit"
class=
"btn waves-effect waves-light col s12"
>
Login
</button>
</div>
</div>
<div
class=
"row"
>
<div
class=
"input-field col s6 m6 l6"
>
<p
class=
"margin medium-small"
><a
href=
"page-register.html"
>
Register Now!
</a></p>
</div>
<div
class=
"input-field col s6 m6 l6"
>
<p
class=
"margin right-align medium-small"
><a
href=
"page-forgot-password.html"
>
Forgot password ?
</a></p>
</div>
</div>
</form>
</div>
</div>
<!-- ================================================
Scripts
================================================ -->
<!-- jQuery Library -->
<script
type=
"text/javascript"
src=
"js/plugins/jquery-1.11.2.min.js"
></script>
<!--materialize js-->
<script
type=
"text/javascript"
src=
"js/materialize.min.js"
></script>
<!--prism-->
<script
type=
"text/javascript"
src=
"js/plugins/prism/prism.js"
></script>
<!--scrollbar-->
<script
type=
"text/javascript"
src=
"js/plugins/perfect-scrollbar/perfect-scrollbar.min.js"
></script>
<!--plugins.js - Some Specific JS codes for Plugin Settings-->
<script
type=
"text/javascript"
src=
"js/plugins.min.js"
></script>
<!--custom-script.js - Add your own theme custom JS-->
<script
type=
"text/javascript"
src=
"js/custom-script.js"
></script>
</body>
</html>
week10-11/crudwebapp/package-lock.json
0 → 100644
View file @
2671163a
{
"name"
:
"crudwebapp"
,
"version"
:
"0.1.0"
,
"lockfileVersion"
:
1
,
"requires"
:
true
,
"dependencies"
:
{
"accepts"
:
{
"version"
:
"1.3.5"
,
"resolved"
:
"https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz"
,
"integrity"
:
"sha1-63d99gEXI6OxTopywIBcjoZ0a9I="
,
"requires"
:
{
"mime-types"
:
"2.1.18"
,
"negotiator"
:
"0.6.1"
}
},
"array-flatten"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
,
"integrity"
:
"sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"body-parser"
:
{
"version"
:
"1.18.2"
,
"resolved"
:
"https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz"
,
"integrity"
:
"sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ="
,
"requires"
:
{
"bytes"
:
"3.0.0"
,
"content-type"
:
"1.0.4"
,
"debug"
:
"2.6.9"
,
"depd"
:
"1.1.2"
,
"http-errors"
:
"1.6.2"
,
"iconv-lite"
:
"0.4.19"
,
"on-finished"
:
"2.3.0"
,
"qs"
:
"6.5.1"
,
"raw-body"
:
"2.3.2"
,
"type-is"
:
"1.6.16"
}
},
"bson"
:
{
"version"
:
"1.0.6"
,
"resolved"
:
"https://registry.npmjs.org/bson/-/bson-1.0.6.tgz"
,
"integrity"
:
"sha512-D8zmlb46xfuK2gGvKmUjIklQEouN2nQ0LEHHeZ/NoHM2LDiMk2EYzZ5Ntw/Urk+bgMDosOZxaRzXxvhI5TcAVQ=="
},
"bytes"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz"
,
"integrity"
:
"sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
},
"content-disposition"
:
{
"version"
:
"0.5.2"
,
"resolved"
:
"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz"
,
"integrity"
:
"sha1-DPaLud318r55YcOoUXjLhdunjLQ="
},
"content-type"
:
{
"version"
:
"1.0.4"
,
"resolved"
:
"https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz"
,
"integrity"
:
"sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
},
"cookie"
:
{
"version"
:
"0.3.1"
,
"resolved"
:
"https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz"
,
"integrity"
:
"sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
},
"cookie-signature"
:
{
"version"
:
"1.0.6"
,
"resolved"
:
"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
,
"integrity"
:
"sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"debug"
:
{
"version"
:
"2.6.9"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
,
"integrity"
:
"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
,
"requires"
:
{
"ms"
:
"2.0.0"
}
},
"depd"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
,
"integrity"
:
"sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
},
"destroy"
:
{
"version"
:
"1.0.4"
,
"resolved"
:
"https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
,
"integrity"
:
"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"ee-first"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
,
"integrity"
:
"sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"encodeurl"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
,
"integrity"
:
"sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"escape-html"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
,
"integrity"
:
"sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"etag"
:
{
"version"
:
"1.8.1"
,
"resolved"
:
"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
,
"integrity"
:
"sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
"express"
:
{
"version"
:
"4.16.3"
,
"resolved"
:
"https://registry.npmjs.org/express/-/express-4.16.3.tgz"
,
"integrity"
:
"sha1-avilAjUNsyRuzEvs9rWjTSL37VM="
,
"requires"
:
{
"accepts"
:
"1.3.5"
,
"array-flatten"
:
"1.1.1"
,
"body-parser"
:
"1.18.2"
,
"content-disposition"
:
"0.5.2"
,
"content-type"
:
"1.0.4"
,
"cookie"
:
"0.3.1"
,
"cookie-signature"
:
"1.0.6"
,
"debug"
:
"2.6.9"
,
"depd"
:
"1.1.2"
,
"encodeurl"
:
"1.0.2"
,
"escape-html"
:
"1.0.3"
,
"etag"
:
"1.8.1"
,
"finalhandler"
:
"1.1.1"
,
"fresh"
:
"0.5.2"
,
"merge-descriptors"
:
"1.0.1"
,
"methods"
:
"1.1.2"
,
"on-finished"
:
"2.3.0"
,
"parseurl"
:
"1.3.2"
,
"path-to-regexp"
:
"0.1.7"
,
"proxy-addr"
:
"2.0.3"
,
"qs"
:
"6.5.1"
,
"range-parser"
:
"1.2.0"
,
"safe-buffer"
:
"5.1.1"
,
"send"
:
"0.16.2"
,
"serve-static"
:
"1.13.2"
,
"setprototypeof"
:
"1.1.0"
,
"statuses"
:
"1.4.0"
,
"type-is"
:
"1.6.16"
,
"utils-merge"
:
"1.0.1"
,
"vary"
:
"1.1.2"
}
},
"finalhandler"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz"
,
"integrity"
:
"sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg=="
,
"requires"
:
{
"debug"
:
"2.6.9"
,
"encodeurl"
:
"1.0.2"
,
"escape-html"
:
"1.0.3"
,
"on-finished"
:
"2.3.0"
,
"parseurl"
:
"1.3.2"
,
"statuses"
:
"1.4.0"
,
"unpipe"
:
"1.0.0"
}
},
"forwarded"
:
{
"version"
:
"0.1.2"
,
"resolved"
:
"https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz"
,
"integrity"
:
"sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
},
"fresh"
:
{
"version"
:
"0.5.2"
,
"resolved"
:
"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
,
"integrity"
:
"sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"http-errors"
:
{
"version"
:
"1.6.2"
,
"resolved"
:
"https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz"
,
"integrity"
:
"sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY="
,
"requires"
:
{
"depd"
:
"1.1.1"
,
"inherits"
:
"2.0.3"
,
"setprototypeof"
:
"1.0.3"
,
"statuses"
:
"1.4.0"
},
"dependencies"
:
{
"depd"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/depd/-/depd-1.1.1.tgz"
,
"integrity"
:
"sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
},
"setprototypeof"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz"
,
"integrity"
:
"sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
}
}
},
"iconv-lite"
:
{
"version"
:
"0.4.19"
,
"resolved"
:
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz"
,
"integrity"
:
"sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
},
"inherits"
:
{
"version"
:
"2.0.3"
,
"resolved"
:
"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
,
"integrity"
:
"sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"ipaddr.js"
:
{
"version"
:
"1.6.0"
,
"resolved"
:
"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz"
,
"integrity"
:
"sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs="
},
"media-typer"
:
{
"version"
:
"0.3.0"
,
"resolved"
:
"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
,
"integrity"
:
"sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"merge-descriptors"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
,
"integrity"
:
"sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"methods"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
,
"integrity"
:
"sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"mime"
:
{
"version"
:
"1.4.1"
,
"resolved"
:
"https://registry.npmjs.org/mime/-/mime-1.4.1.tgz"
,
"integrity"
:
"sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
},
"mime-db"
:
{
"version"
:
"1.33.0"
,
"resolved"
:
"https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz"
,
"integrity"
:
"sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
},
"mime-types"
:
{
"version"
:
"2.1.18"
,
"resolved"
:
"https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz"
,
"integrity"
:
"sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ=="
,
"requires"
:
{
"mime-db"
:
"1.33.0"
}
},
"mongodb"
:
{
"version"
:
"3.0.5"
,
"resolved"
:
"https://registry.npmjs.org/mongodb/-/mongodb-3.0.5.tgz"
,
"integrity"
:
"sha512-8ioTyyc8tkNwZCTDa1FPWvmpJFfvE484DnugC8KpVrw4AKAE03OOAlORl2yYTNtz3TX4Ab7FRo00vzgexB/67A=="
,
"requires"
:
{
"mongodb-core"
:
"3.0.5"
}
},
"mongodb-core"
:
{
"version"
:
"3.0.5"
,
"resolved"
:
"https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.0.5.tgz"
,
"integrity"
:
"sha512-4A1nx/xAU5d/NPICjiyzVxzNrIdJQQsYRe3xQkV1O638t+fHHfAOLK+SQagqGnu1m0aeSxb1ixp/P0FGSQWIGA=="
,
"requires"
:
{
"bson"
:
"1.0.6"
,
"require_optional"
:
"1.0.1"
}
},
"ms"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
,
"integrity"
:
"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"negotiator"
:
{
"version"
:
"0.6.1"
,
"resolved"
:
"https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
,
"integrity"
:
"sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
},
"on-finished"
:
{
"version"
:
"2.3.0"
,
"resolved"
:
"https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
,
"integrity"
:
"sha1-IPEzZIGwg811M3mSoWlxqi2QaUc="
,
"requires"
:
{
"ee-first"
:
"1.1.1"
}
},
"parseurl"
:
{
"version"
:
"1.3.2"
,
"resolved"
:
"https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz"
,
"integrity"
:
"sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
},
"path-to-regexp"
:
{
"version"
:
"0.1.7"
,
"resolved"
:
"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
,
"integrity"
:
"sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"proxy-addr"
:
{
"version"
:
"2.0.3"
,
"resolved"
:
"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz"
,
"integrity"
:
"sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ=="
,
"requires"
:
{
"forwarded"
:
"0.1.2"
,
"ipaddr.js"
:
"1.6.0"
}
},
"qs"
:
{
"version"
:
"6.5.1"
,
"resolved"
:
"https://registry.npmjs.org/qs/-/qs-6.5.1.tgz"
,
"integrity"
:
"sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
},
"range-parser"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz"
,
"integrity"
:
"sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
},
"raw-body"
:
{
"version"
:
"2.3.2"
,
"resolved"
:
"https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz"
,
"integrity"
:
"sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k="
,
"requires"
:
{
"bytes"
:
"3.0.0"
,
"http-errors"
:
"1.6.2"
,
"iconv-lite"
:
"0.4.19"
,
"unpipe"
:
"1.0.0"
}
},
"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.5.0"
}
},
"resolve-from"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz"
,
"integrity"
:
"sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
},
"safe-buffer"
:
{
"version"
:
"5.1.1"
,
"resolved"
:
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
,
"integrity"
:
"sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
},
"semver"
:
{
"version"
:
"5.5.0"
,
"resolved"
:
"https://registry.npmjs.org/semver/-/semver-5.5.0.tgz"
,
"integrity"
:
"sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
},
"send"
:
{
"version"
:
"0.16.2"
,
"resolved"
:
"https://registry.npmjs.org/send/-/send-0.16.2.tgz"
,
"integrity"
:
"sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw=="
,
"requires"
:
{
"debug"
:
"2.6.9"
,
"depd"
:
"1.1.2"
,
"destroy"
:
"1.0.4"
,
"encodeurl"
:
"1.0.2"
,
"escape-html"
:
"1.0.3"
,
"etag"
:
"1.8.1"
,
"fresh"
:
"0.5.2"
,
"http-errors"
:
"1.6.2"
,
"mime"
:
"1.4.1"
,
"ms"
:
"2.0.0"
,
"on-finished"
:
"2.3.0"
,
"range-parser"
:
"1.2.0"
,
"statuses"
:
"1.4.0"
}
},
"serve-static"
:
{
"version"
:
"1.13.2"
,
"resolved"
:
"https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz"
,
"integrity"
:
"sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw=="
,
"requires"
:
{
"encodeurl"
:
"1.0.2"
,
"escape-html"
:
"1.0.3"
,
"parseurl"
:
"1.3.2"
,
"send"
:
"0.16.2"
}
},
"setprototypeof"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz"
,
"integrity"
:
"sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
},
"statuses"
:
{
"version"
:
"1.4.0"
,
"resolved"
:
"https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz"
,
"integrity"
:
"sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
},
"type-is"
:
{
"version"
:
"1.6.16"
,
"resolved"
:
"https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz"
,
"integrity"
:
"sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q=="
,
"requires"
:
{
"media-typer"
:
"0.3.0"
,
"mime-types"
:
"2.1.18"
}
},
"unpipe"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
,
"integrity"
:
"sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"utils-merge"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
,
"integrity"
:
"sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"vary"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
,
"integrity"
:
"sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
}
}
}
week10-11/crudwebapp/package.json
0 → 100644
View file @
2671163a
{
"name"
:
"crudwebapp"
,
"version"
:
"0.1.0"
,
"description"
:
"crud application to mongodb through expressjs"
,
"main"
:
"server.js"
,
"scripts"
:
{
"start"
:
"nodemon server.js"
,
"test"
:
"echo
\"
Error: no test specified
\"
&& exit 1"
},
"repository"
:
{
"type"
:
"git"
,
"url"
:
"http://projectcs.sci.ubu.ac.th/nontawatkb/nodejs-60-2"
},
"keywords"
:
[
"CRUD"
,
"mongodb"
,
"expressjs"
,
"ubu"
,
"comsci"
],
"author"
:
"nontawat.kanboon"
,
"license"
:
"ISC"
,
"dependencies"
:
{
"body-parser"
:
"^1.18.2"
,
"express"
:
"^4.16.3"
,
"mongodb"
:
"^3.0.5"
}
}
week10-11/crudwebapp/server.js
0 → 100644
View file @
2671163a
const
express
=
require
(
'express'
);
const
parser
=
require
(
'body-parser'
);
const
app
=
express
();
const
mongodb
=
require
(
'mongodb'
)
const
client
=
mongodb
.
MongoClient
;
var
url
=
"mongodb://localhost:27017/crudwebappdb"
;
app
.
use
(
parser
.
urlencoded
({
extended
:
true
}))
app
.
get
(
'/test'
,
(
req
,
res
)
=>
{
res
.
send
(
'Test Test'
);
});
client
.
connect
(
url
,
(
err
,
con
)
=>
{
if
(
err
)
throw
err
;
console
.
log
(
"Database ชื่อ crudwebappdb สร้างแล้วเด้อ!"
);
app
.
get
(
'/'
,
(
req
,
res
)
=>
{
console
.
log
(
db
.
collection
(
'quotes'
).
find
());
res
.
sendFile
(
__dirname
+
'/index.html'
);
});
let
db
=
con
.
db
(
'crudwebappdb'
);
app
.
post
(
'/quotes'
,
(
req
,
res
)
=>
{
console
.
log
(
req
.
body
);
db
.
collection
(
'quotes'
).
insertOne
(
req
.
body
,
(
err
,
result
)
=>
{
if
(
err
)
return
console
.
log
(
err
)
console
.
log
(
`บันทึก
${
req
.
body
}
ไปที่ database แล้ว`
)
res
.
redirect
(
'/'
)
})
});
app
.
listen
(
8000
,
function
()
{
console
.
log
(
"เริ่มละนะ "
);
});
//con.close();
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment