From f967f7cd11be3c8329e319368643949446fcb39e Mon Sep 17 00:00:00 2001 From: Kangmin An Date: Tue, 26 Jan 2021 21:31:02 +0900 Subject: [PATCH] Add Data Input form, routes, routers, controls. --- server/src/app.js | 10 +++++++++- server/src/controllers/dataController.js | 10 ++++++++-- server/src/controllers/globalController.js | 3 +++ server/src/middlewares.js | 6 ++++++ server/src/routers/dataRouter.js | 10 ++++++++++ server/src/routers/globalRouter.js | 2 +- server/src/routes.js | 9 +++++++++ server/src/views/datainput.pug | 7 +++++++ server/src/views/home.pug | 8 +++++++- 9 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 server/src/controllers/globalController.js create mode 100644 server/src/middlewares.js create mode 100644 server/src/routers/dataRouter.js create mode 100644 server/src/views/datainput.pug diff --git a/server/src/app.js b/server/src/app.js index 43dfea1..9110e48 100644 --- a/server/src/app.js +++ b/server/src/app.js @@ -5,9 +5,12 @@ import morgan from "morgan"; import helmet from "helmet"; import path from "path"; +import routes from "./routes"; + import globalRouter from "./routers/globalRouter"; +import dataRouter from "./routers/dataRouter"; -import routes from "./routes"; +import { localmiddleware } from "./middlewares"; const app = express(); @@ -20,6 +23,11 @@ app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(morgan("dev")); +// local middleware 사용 +app.use(localmiddleware); + +// router 사용 app.use(routes.home, globalRouter); +app.use(routes.data, dataRouter); export default app; diff --git a/server/src/controllers/dataController.js b/server/src/controllers/dataController.js index 4582dc5..726576f 100644 --- a/server/src/controllers/dataController.js +++ b/server/src/controllers/dataController.js @@ -1,3 +1,9 @@ -export const getHome = (req, res) => { - res.render("home", { pagename: "Home" }); +import routes from "../routes"; + +export const getDataInput = (req, res) => { + res.render("datainput", { pagename: "Data Input" }); +}; + +export const postDataInput = (req, res) => { + res.redirect(routes.home); }; diff --git a/server/src/controllers/globalController.js b/server/src/controllers/globalController.js new file mode 100644 index 0000000..4582dc5 --- /dev/null +++ b/server/src/controllers/globalController.js @@ -0,0 +1,3 @@ +export const getHome = (req, res) => { + res.render("home", { pagename: "Home" }); +}; diff --git a/server/src/middlewares.js b/server/src/middlewares.js new file mode 100644 index 0000000..6d32797 --- /dev/null +++ b/server/src/middlewares.js @@ -0,0 +1,6 @@ +import routes from "./routes"; + +export const localmiddleware = (req, res, next) => { + res.locals.routes = routes; + next(); +}; diff --git a/server/src/routers/dataRouter.js b/server/src/routers/dataRouter.js new file mode 100644 index 0000000..385c719 --- /dev/null +++ b/server/src/routers/dataRouter.js @@ -0,0 +1,10 @@ +import express from "express"; +import routes from "../routes"; +import { getDataInput, postDataInput } from "../controllers/dataController"; + +const dataRouter = express.Router(); + +dataRouter.get(routes.dataInput, getDataInput); +dataRouter.post(routes.dataInput, postDataInput); + +export default dataRouter; diff --git a/server/src/routers/globalRouter.js b/server/src/routers/globalRouter.js index cbc125a..651edeb 100644 --- a/server/src/routers/globalRouter.js +++ b/server/src/routers/globalRouter.js @@ -1,6 +1,6 @@ import express from "express"; import routes from "../routes"; -import { getHome } from "../controllers/dataController"; +import { getHome } from "../controllers/globalController"; const globalRouter = express.Router(); diff --git a/server/src/routes.js b/server/src/routes.js index 0347e98..0ebc64e 100644 --- a/server/src/routes.js +++ b/server/src/routes.js @@ -1,7 +1,16 @@ +// Global Routes const HOME = "/"; +// Data Input +const DATA = "/data"; +const DATA_INPUT = "/input"; +const DATA_OUTPUT = "/output"; + const routes = { home: HOME, + data: DATA, + dataInput: DATA_INPUT, + dataOutput: DATA_OUTPUT, }; export default routes; diff --git a/server/src/views/datainput.pug b/server/src/views/datainput.pug new file mode 100644 index 0000000..c173c6d --- /dev/null +++ b/server/src/views/datainput.pug @@ -0,0 +1,7 @@ +block content + .form__container + form(action=routes.data+routes.dataInput, method = "post") + input(type="text", name="temp", require=true, placeholder="Temperature") + input(type="text", name="humi", require=true, placeholder="Humidity") + input(type="text", name="bri", require=true, placeholder="Brightness") + input(type="submit", value="Submit") \ No newline at end of file diff --git a/server/src/views/home.pug b/server/src/views/home.pug index ce1a0be..c916b2c 100644 --- a/server/src/views/home.pug +++ b/server/src/views/home.pug @@ -1,2 +1,8 @@ block content - h1 Hello! This is EUE Server. \ No newline at end of file + .home-link_container + strong Efficient Usage of Electricity + ul + li + a(href=routes.data+routes.dataInput) 데이터 등록 + li + a(href=routes.data+routes.dataOutput) 데이터 출력 \ No newline at end of file -- GitLab