임준표

HealthAssistant

node_modules/
*.vscode
*.idea
\ No newline at end of file
# [Health Assistant](http://2018102224.osschatbot.cf:23023)
Health Assistant is a Web based program for Daily exercisers.
* **시간 효율성:** 이 프로그램은 운동하는 사람에게 몇 세트가 남았는지 알려준다. 또한, 세트와 세트 사이에 유저가 설정한 쉬는 시간이 끝나면, 유저에게 쉬는 시간이 끝났음을 알리고, 다시 운동할 수 있게끔 해준다. 이를 통해 유저는 시간 효율적으로 운동할 수 있다.
* **운동 추천 기능:** 유저들의 키, 몸무게 정보를 저장하여 비슷한 체형의 유저의 운동 루틴을 추천해주거나 운동을 많이 해보지 못한 유저가 운동법을 추천받기를 원하면, 유튜브와 연동하여 운동법을 추천해 준다.
## Built with
- kakao api
- mysql DB
- 부트스트랩
- node js
## Prerequisites
```
npm install
npm install express --save
```
## Installation
- Clone repo<br>
http://khuhub.khu.ac.kr/2018102224/health_assistant.git
- MySQL 설치<br>
sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo yum install mysql-community-server
- 서버 자동 시작 설정<br>
sudo systemctl enable mysqld
sudo systemctl start mysqld
- 서버 실행 여부 확인<br>
sudo systemctl status mysqld
- mysql root 초기 비밀번호 확인<br>
sudo grep 'A temporary password' /var/log/mysqld.log
- mysql 접속<br>
mysql -u root -p
- DB 테이블 생성
- user_info(username, userHeight, userWeight)
- userHealth(username, day, way, part, setNumber, number, breakTime, Id)
- AWS 도메인 설정
- SSL Certificate
## Usage
1. 로그인 - kakao
2. 키와 몸무게를 입력
3. 요일별 운동 루틴 저장
4. 운동 방법에 대한 설명 (유튜브 링크)
4. 설정한 쉬는 시간 끝났을 때 팝업 알림
5. 루틴 추천 기능: 키와 몸무게가 비슷한 다른 유저들의 루틴 참고 가능
## Roadmap
- [X] DataStructures
- [X] Add back to top links
- [X] Exception Handling
- [X] Use Cookies
- [X] Encryption
## Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!
1. Fork the Project
2. Create your Feature Branch
3. Commit your Changes
4. Push to the Branch
5. Open a Pull Request
## License
- MySQL (https://www.mysql.com/)
- Kakao API (https://developers.kakao.com/docs/latest/ko/kakaologin/common)
## Contact
- 임준표 wnsvy1997@gmail.com
const express = require("express");
const app = express();
const sslport = 23023;
const passport = require("passport");
const index = require("./routes/index");
const user = require("./routes/user");
const path = require("path");
const setup = require("./routes/setup");
const daySelect = require("./routes/daySelect");
const otherUser = require("./routes/otherUser");
const myHealth = require("./routes/myHealth");
passport.serializeUser(function (user, done) {
console.log("serialized");
done(null, user);
});
passport.deserializeUser(function (user, done) {
console.log("deserialized");
done(null, user);
});
app.use(express.json());
app.use(express.static(__dirname + "/public"));
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "ejs");
app.use(passport.initialize());
app.use("/", index);
app.use("/user", user);
app.use("/setup", setup);
app.use("/daySelect", daySelect);
app.use("/otherUser", otherUser);
app.use("/myHealth", myHealth);
app.use("/static", express.static("./js/"));
app.listen(sslport, () => {
console.log(`Example app listening at www.2018102224.osschatbot.cf:${sslport}`);
//도메인 입력
});
module.exports = app;
var target;
function addressKindChange(e) {
const shoulder = [
"아놀드 프레스",
"래터럴 레이즈",
"프론트 레이즈",
"리버스 펙덱 플라이",
];
const leg = ["레그프레스", "스쿼트", "런지", "레그 익스텐션", "레그컬"];
const arm = [
"덤벨 컬",
"오버헤드프레스",
"덤벨 킥백",
"라잉 트라이셉스 익스텐션",
];
const core = ["플랭크", "백 익스텐션", "크런치"];
const breath = ["싸이클", "런닝머신"];
const back = ["랫풀다운", "시티드로우", "바벨로우", "데드리프트", "풀업"];
const chest = ["인클라인 벤치프레스", "벤치프레스", "딥스", "푸쉬업"];
target = document.getElementById("way");
if (e.value == "어깨") var d = shoulder;
else if (e.value == "하체") var d = leg;
else if (e.value == "이삼두") var d = arm;
else if (e.value == "등") var d = back;
else if (e.value == "유산소") var d = breath;
else if (e.value == "코어") var d = core;
else if (e.value == "가슴") var d = chest;
target.options.length = 0;
for (x in d) {
var opt = document.createElement("option");
opt.value = d[x];
opt.innerHTML = d[x];
target.appendChild(opt);
}
}
function ex1() {
return target;
}
/*!
* Start Bootstrap - Stylish Portfolio v6.0.4 (https://startbootstrap.com/theme/stylish-portfolio)
* Copyright 2013-2021 Start Bootstrap
* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-stylish-portfolio/blob/master/LICENSE)
*/
window.addEventListener("DOMContentLoaded", (event) => {
const sidebarWrapper = document.getElementById("sidebar-wrapper");
let scrollToTopVisible = false;
// Closes the sidebar menu
const menuToggle = document.body.querySelector(".menu-toggle");
menuToggle.addEventListener("click", (event) => {
event.preventDefault();
sidebarWrapper.classList.toggle("active");
_toggleMenuIcon();
menuToggle.classList.toggle("active");
});
// Closes responsive menu when a scroll trigger link is clicked
var scrollTriggerList = [].slice.call(
document.querySelectorAll("#sidebar-wrapper .js-scroll-trigger")
);
scrollTriggerList.map((scrollTrigger) => {
scrollTrigger.addEventListener("click", () => {
sidebarWrapper.classList.remove("active");
menuToggle.classList.remove("active");
_toggleMenuIcon();
});
});
function _toggleMenuIcon() {
const menuToggleBars = document.body.querySelector(
".menu-toggle > .fa-bars"
);
const menuToggleTimes = document.body.querySelector(
".menu-toggle > .fa-times"
);
if (menuToggleBars) {
menuToggleBars.classList.remove("fa-bars");
menuToggleBars.classList.add("fa-times");
}
if (menuToggleTimes) {
menuToggleTimes.classList.remove("fa-times");
menuToggleTimes.classList.add("fa-bars");
}
}
// Scroll to top button appear
document.addEventListener("scroll", () => {
const scrollToTop = document.body.querySelector(".scroll-to-top");
if (document.documentElement.scrollTop > 100) {
if (!scrollToTopVisible) {
fadeIn(scrollToTop);
scrollToTopVisible = true;
}
} else {
if (scrollToTopVisible) {
fadeOut(scrollToTop);
scrollToTopVisible = false;
}
}
});
});
function fadeOut(el) {
el.style.opacity = 1;
(function fade() {
if ((el.style.opacity -= 0.1) < 0) {
el.style.display = "none";
} else {
requestAnimationFrame(fade);
}
})();
}
function fadeIn(el, display) {
el.style.opacity = 0;
el.style.display = display || "block";
(function fade() {
var val = parseFloat(el.style.opacity);
if (!((val += 0.1) > 1)) {
el.style.opacity = val;
requestAnimationFrame(fade);
}
})();
}
var x;
const onClick = (bt) => {
const onDelete = () => {
clearInterval(x);
document.getElementById("demo").innerText = "";
document.querySelector("#deleteBtn").innerText = "";
document.querySelector("#healthname").innerText = "";
};
const a = document.querySelector("#breaktime").innerText;
var time = parseInt(bt.value);
console.log(bt.name);
console.log(time);
var min = "";
var sec = "";
x = setInterval(function () {
min = parseInt(time / 60);
sec = time % 60;
document.getElementById("demo").innerHTML = min + ":" + sec + "";
time--;
if (time < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "쉬는시간 끝!";
alert("쉬는시간이 끝났습니다!");
}
}, 1000);
const del_bt = document.querySelector("#deleteBtn");
const healthname = document.querySelector("#healthname");
healthname.innerHTML = bt.name + " 쉬는시간!";
var ex = document.createElement("Button");
ex.innerHTML = "타이머 지우기";
ex.className = "btn btn-dark";
ex.onclick = onDelete;
del_bt.appendChild(ex);
};
This diff is collapsed. Click to expand it.
{
"name": "abcd",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"axios": "^0.24.0",
"body-parser": "^1.19.0",
"ejs": "^3.1.6",
"express": "^4.17.1",
"express-mysql-session": "^2.1.7",
"express-session": "^1.17.2",
"mysql": "^2.18.1",
"passport": "^0.5.0",
"passport-kakao": "^1.0.1"
}
}
This diff could not be displayed because it is too large.
const express = require("express");
const router = express.Router();
const mysql = require("mysql");
router.use(express.urlencoded({ extended: false }));
const conn = {
host: "localhost",
port: "3306",
user: "root",
password: "@Binocchio66",
database: "healthassistant",
};
let testQuery;
const connection = mysql.createConnection(conn); // DB 커넥션 생성
connection.connect(); // DB접속
router.get("/", (req, res, next) => {
testQuery = `SELECT * FROM userHealth WHERE username ="${req.user.nickname}"`;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
let myArr_mon = new Array();
let myArr_tue = new Array();
let myArr_wed = new Array();
let myArr_thu = new Array();
let myArr_fri = new Array();
let myArr_sat = new Array();
let myArr_sun = new Array();
for (let i = 0; i < results.length; i++) {
if (results[i].day == "월") {
myArr_mon.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
if (results[i].day == "화") {
myArr_tue.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
if (results[i].day == "수") {
myArr_wed.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
if (results[i].day == "목") {
myArr_thu.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
if (results[i].day == "금") {
myArr_fri.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
if (results[i].day == "토") {
myArr_sat.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
if (results[i].day == "일") {
myArr_sun.push(results[i]);
}
}
res.render("daySelect", {
arr_mon: myArr_mon,
arr_tue: myArr_tue,
arr_wed: myArr_wed,
arr_thu: myArr_thu,
arr_fri: myArr_fri,
arr_sat: myArr_sat,
arr_sun: myArr_sun,
});
} else {
console.log(err);
}
});
});
module.exports = router;
const express = require("express");
const router = express.Router();
const passport = require("passport");
const axios = require("axios");
const KakaoStrategy = require("passport-kakao").Strategy;
const session = require("express-session");
const mysql = require("mysql");
passport.serializeUser(function (user, done) {
// console.log("serialized");
done(null, user);
});
passport.deserializeUser(function (user, done) {
// console.log("deserialized");
done(null, user);
});
router.use(session({ secret: "anything" }));
router.use(passport.initialize());
router.use(passport.session());
passport.use(
"kakao-login",
new KakaoStrategy(
{
clientID: "359a37c3d9b0bec98aab1f2882447b24",
callbackURL: "/auth/kakao/callback",
clientSecret: "XvRp0bV6dZ8aj9f7ApYCT0ZoeDEL9cGi",
},
async (accessToken, refreshToken, profile, done) => {
console.log(accessToken);
console.log(profile);
return done(null, {
//req.user가 되는 부분
user_id: profile._json.id,
nickname: profile._json.properties.nickname,
});
}
)
);
router.get("/", (req, res) => {
res.render("index", {
title: "안녕하세요",
});
});
router.get("/auth/kakao", passport.authenticate("kakao-login"));
router.get(
"/auth/kakao/callback",
passport.authenticate("kakao-login", {
failureRedirect: "/failure",
}),
(req, res) => {
res.redirect("/user");
}
);
router.get("/auth/logout/kakao", function (req, res) {
req.logout();
res.redirect("/");
});
module.exports = router;
const express = require("express");
const router = express.Router();
const mysql = require("mysql");
router.use(express.urlencoded({ extended: false }));
const conn = {
host: "localhost",
port: "3306",
user: "root",
password: "@Binocchio66",
database: "healthassistant",
};
let testQuery;
const connection = mysql.createConnection(conn); // DB 커넥션 생성
connection.connect(); // DB접속
router.get("/", (req, res) => {
testQuery = `SELECT * FROM userHealth WHERE username = "${req.user.nickname}"`;
connection.query(testQuery, (err, results, field) => {
if (err) {
console.log(err);
} else {
console.log(results);
res.render("myHealth", {
arr1: results,
});
}
});
});
module.exports = router;
const express = require("express");
const router = express.Router();
const mysql = require("mysql");
router.use(express.urlencoded({ extended: false }));
const conn = {
host: "localhost",
port: "3306",
user: "root",
password: "@Binocchio66",
database: "healthassistant",
};
let testQuery;
const connection = mysql.createConnection(conn); // DB 커넥션 생성
connection.connect(); // DB접속
router.get("/", (req, res) => {
testQuery = `SELECT * FROM user_info WHERE username="${req.user.nickname}"`;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
const userHeight = results[0].userHeight;
const userWeight = results[0].userWeight;
testQuery = `SELECT * FROM user_info WHERE userWeight <= (${userWeight} + 5) and userWeight >= (${userWeight} -5 ) and userHeight <= (${userHeight} +5) and userHeight >= (${userHeight} -5) and username != "${req.user.nickname}" `;
connection.query(testQuery, (err, results, fields) => {
if (err) {
console.log(err);
} else {
res.render("otherUser", {
userlist: results,
});
}
});
}
});
});
router.get("/show/:username", (req, res) => {
const username = req.params.username;
testQuery = `SELECT * FROM userHealth WHERE username = "${username}"`;
connection.query(testQuery, (err, results, field) => {
if (err) {
console.log(err);
} else {
res.render("otherHealth", {
arr1: results,
username: username,
});
}
});
});
module.exports = router;
const express = require("express");
const router = express.Router();
const mysql = require("mysql");
const test = require("../js/examples");
const conn = {
host: "localhost",
port: "3306",
user: "root",
password: "@Binocchio66",
database: "healthassistant",
};
let day, day_eng;
let myArr, myArr2;
let cnt = 0;
const connection = mysql.createConnection(conn); // DB 커넥션 생성
connection.connect(); // DB접속
router.use(express.urlencoded({ extended: false }));
router.get("/", (req, res, next) => {
res.render("setup");
});
router.post("/", (req, res, next) => {
let testQuery = `INSERT INTO userHealth (username, day, way, part, setNumber, number, breakTime, Id) VALUES ("${req.user.nickname}", "${req.body.day}","${req.body.way}","${req.body.part}","${req.body.setNumber}","${req.body.number}","${req.body.breakTime}","${cnt}")`;
cnt++;
connection.query(testQuery, (err, results, fields) => {
//results에 배열로 db값이 저장됨.
if (err) {
console.log(err);
}
});
res.redirect("/daySelect");
});
router.get("/Monday", (req, res, next) => {
let testQuery = `SELECT * FROM userHealth WHERE username = "${req.user.nickname}"`;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
day = "월";
day_eng = "Monday";
myArr = new Array();
myArr2 = new Array();
for (let i = 0; i < results.length; i++) {
if (results[i].day == "월") {
myArr2.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
myArr.push(results[i].day);
}
if (myArr.findIndex((e) => e === "월") !== -1) {
console.log("월요일 루틴이 있습니다.");
res.render("startHealth", {
day: "월",
arr1: myArr2,
});
} else {
console.log("월요일 루틴이 없습니다.");
res.render("setup");
}
} else {
console.log(err);
}
});
});
router.get("/Tuesday", (req, res, next) => {
let testQuery = `SELECT * FROM userHealth WHERE username = "${req.user.nickname}"`;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
day = "화";
day_eng = "Tuesday";
myArr = new Array();
myArr2 = new Array();
for (let i = 0; i < results.length; i++) {
if (results[i].day == "화") {
myArr2.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
myArr.push(results[i].day);
}
if (myArr.findIndex((e) => e === "화") !== -1) {
console.log("화요일 루틴이 있습니다.");
res.render("startHealth", {
day: "화",
arr1: myArr2,
});
} else {
console.log("화요일 루틴이 없습니다.");
res.render("setup");
}
} else {
console.log(err);
}
});
});
router.get("/Wednesday", (req, res, next) => {
let testQuery = `SELECT * FROM userHealth WHERE username = "${req.user.nickname}"`;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
day = "수";
day_eng = "Wednesday";
myArr = new Array();
myArr2 = new Array();
for (let i = 0; i < results.length; i++) {
if (results[i].day == "수") {
myArr2.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
myArr.push(results[i].day);
}
if (myArr.findIndex((e) => e === "수") !== -1) {
console.log("수요일 루틴이 있습니다.");
res.render("startHealth", {
day: "수",
arr1: myArr2,
});
} else {
console.log("수요일 루틴이 없습니다.");
res.render("setup");
}
} else {
console.log(err);
}
});
});
router.get("/Thursday", (req, res, next) => {
let testQuery = `SELECT * FROM userHealth WHERE username = "${req.user.nickname}"`;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
day = "목";
day_eng = "Thursday";
myArr = new Array();
myArr2 = new Array();
for (let i = 0; i < results.length; i++) {
if (results[i].day == "목") {
myArr2.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
myArr.push(results[i].day);
}
if (myArr.findIndex((e) => e === "목") !== -1) {
console.log("목요일 루틴이 있습니다.");
res.render("startHealth", {
day: "목",
arr1: myArr2,
});
} else {
console.log("목요일 루틴이 없습니다.");
res.render("setup");
}
} else {
console.log(err);
}
});
});
router.get("/Friday", (req, res, next) => {
let testQuery = `SELECT * FROM userHealth WHERE username = "${req.user.nickname}"`;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
day = "금";
day_eng = "Friday";
myArr = new Array();
myArr2 = new Array();
for (let i = 0; i < results.length; i++) {
if (results[i].day == "금") {
myArr2.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
myArr.push(results[i].day);
}
if (myArr.findIndex((e) => e === "금") !== -1) {
console.log("금요일 루틴이 있습니다.");
res.render("startHealth", {
day: "금",
arr1: myArr2,
});
} else {
console.log("금요일 루틴이 없습니다.");
res.render("setup");
}
} else {
console.log(err);
}
});
});
router.get("/Saturday", (req, res, next) => {
let testQuery = `SELECT * FROM userHealth WHERE username = "${req.user.nickname}"`;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
day = "토";
day_eng = "Saturday";
myArr = new Array();
myArr2 = new Array();
for (let i = 0; i < results.length; i++) {
if (results[i].day == "토") {
myArr2.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
myArr.push(results[i].day);
}
if (myArr.findIndex((e) => e === "토") !== -1) {
console.log("토요일 루틴이 있습니다.");
res.render("startHealth", {
day: "토",
arr1: myArr2,
});
} else {
console.log("토요일 루틴이 없습니다.");
res.render("setup");
}
} else {
console.log(err);
}
});
});
router.get("/Sunday", (req, res, next) => {
let testQuery = `SELECT * FROM userHealth WHERE username = "${req.user.nickname}"`;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
day = "일";
day_eng = "Sunday";
myArr = new Array();
myArr2 = new Array();
for (let i = 0; i < results.length; i++) {
if (results[i].day == "일") {
myArr2.push(results[i]);
}
}
for (let i = 0; i < results.length; i++) {
myArr.push(results[i].day);
}
if (myArr.findIndex((e) => e === "일") !== -1) {
console.log("일요일 루틴이 있습니다.");
res.render("startHealth", {
day: "일",
arr1: myArr2,
});
} else {
console.log("일요일 루틴이 없습니다.");
res.render("setup");
}
} else {
console.log(err);
}
});
});
router.get("/remove/:Id", (req, res, next) => {
let testQuery = `SELECT * FROM userHealth WHERE username = "${req.user.nickname}"`;
const Id = req.params.Id;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
myArr = new Array();
for (let i = 0; i < results.length; i++) {
if (results[i].day == day) {
myArr.push(results[i]);
}
}
testQuery = `DELETE FROM userHealth WHERE id = ${Id}`;
connection.query(testQuery, (err, results, fields) => {
if (!err) {
res.send(
`<script>alert("삭제 완료!"); location.href='/setup/${day_eng}';</script>`
);
} else {
console.log(err);
}
});
} else {
console.log(err);
}
});
});
router.get("/edit/:Id", (req, res, next) => {
res.render("editHealth", {
day: day,
arr1: myArr2,
Id: req.params.Id,
});
});
router.post("/edit/:Id", (req, res, next) => {
const Id = req.params.Id;
let testQuery = `UPDATE userHealth SET way="${req.body.way}", part="${req.body.part}", setNumber="${req.body.setNumber}", number="${req.body.number}", breakTime="${req.body.breakTime}" WHERE way = "${Id}"`;
connection.query(testQuery, (err, results, field) => {
if (!err) {
console.log("수정완료!");
res.redirect(`/setup/${day_eng}`);
} else {
console.log(err);
}
});
});
module.exports = router;
const express = require("express");
const router = express.Router();
const mysql = require("mysql");
const conn = {
host: "localhost",
port: "3306",
user: "root",
password: "@Binocchio66",
database: "healthassistant",
};
const connection = mysql.createConnection(conn); // DB 커넥션 생성
connection.connect(); // DB접속
router.use(express.urlencoded({ extended: false }));
router.get("/", (req, res, next) => {
console.log("로그인 성공!");
let testQuery = `SELECT * FROM user_info WHERE username="${req.user.nickname}"`;
connection.query(testQuery, (err, results, fields) => {
if (results.length == 0) {
res.render("user", {
title: "정보 입력",
});
} else {
console.log("정보가 있는 유저입니다.");
res.redirect("/daySelect");
}
});
});
router.post("/", (req, res) => {
const height = req.body.height;
const weight = req.body.weight;
let testQuery = `INSERT INTO user_info (username, userHeight, userWeight) values ("${req.user.nickname}", ${height}, ${weight})`;
// let testQuery = `INSERT INTO 'user_info' ('username', 'userHeight)`;
connection.query(testQuery, (err, results, fields) => {
if (err) {
console.log(err);
}
});
res.redirect("/daySelect");
// res.redirect("/");
});
module.exports = router;
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<title>Setup</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel="stylesheet"
/>
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script
src="https://use.fontawesome.com/releases/v5.15.4/js/all.js"
crossorigin="anonymous"
></script>
<!-- Simple line icons-->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css"
rel="stylesheet"
/>
<!-- Google fonts-->
<link
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic"
rel="stylesheet"
type="text/css"
/>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Corinthia:wght@700&family=Gowun+Dodum&family=Do+Hyeon&family=Jua&family=Anton&family=Fuzzy+Bubbles:wght@700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="/stylesheets/styles.css" />
<style>
.title-fontA {
font-family: 'Fuzzy Bubbles', cursive;
}
.title-fontB {
font-family: 'Anton', sans-serif;
}
.day-fontA {
font-family: 'Gowun Dodum', sans-serif;
font-size: 35px;
color: black;
}
</style>
</head>
<body>
<div class="navbar navbar-expand-lg navbar-light bgtop">
<div class="container text-center mx-4 my-1">
<a class="navbar-brand title-fontA" href="/daySelect">Health Assistant</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/otherUser">OTHER</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/myHealth">MY</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/auth/logout/kakao">LOGOUT</a>
</div>
</div>
<div class="container">
<div class="row row-cols-1 row-cols-md-4 g-4 mt-4">
<div class="col">
<a href="/setup/Monday">
<div class="card" style="width: 75%">
<div class="card-body">
<h5 class="card-title text-center day-fontA">월요일</h5>
<p class="card-text">
<% if(arr_mon.length ==0) { %>
<p>월요일 운동이 없습니다! </p>
<% } else { %>
<ul>
<li><%= arr_mon[0].way %></li>
</ul>
<% } %>
</p>
</div>
</div>
</a>
</div>
<div class="col">
<a href="/setup/Tuesday">
<div class="card" style="width: 75%">
<div class="card-body">
<h5 class="card-title text-center day-fontA">화요일</h5>
<p class="card-text">
<% if(arr_tue.length ==0) { %>
<p>화요일 운동이 없습니다!</p>
<% } else { %>
<ul>
<li><%= arr_tue[0].way %></li>
</ul>
<% } %>
</p>
</div>
</div>
</a>
</div>
<div class="col">
<a href="/setup/Wednesday">
<div class="card" style="width: 75%">
<div class="card-body">
<h5 class="card-title text-center day-fontA">수요일</h5>
<p class="card-text">
<% if(arr_wed.length ==0) { %>
<p>수요일 운동이 없습니다!</p>
<% } else { %>
<ul>
<li><%= arr_wed[0].way %></li>
</ul>
<% } %>
</ul>
</p>
</div>
</div>
</a>
</div>
<div class="col">
<a href="/setup/Thursday">
<div class="card" style="width: 75%">
<div class="card-body">
<h5 class="card-title text-center day-fontA">목요일</h5>
<p class="card-text">
<% if(arr_thu.length ==0) { %>
<p>목요일 운동이 없습니다!</p>
<% } else { %>
<ul>
<li><%= arr_thu[0].way %></li>
</ul>
<% } %>
</p>
</div>
</div>
</a>
</div>
<div class="col">
<a href="/setup/Friday">
<div class="card mt-5" style="width: 75%">
<div class="card-body">
<h5 class="card-title text-center day-fontA">금요일</h5>
<p class="card-text">
<% if(arr_fri.length ==0) { %>
<p>금요일 운동이 없습니다!</p>
<% } else { %>
<ul>
<li><%= arr_fri[0].way %></li>
</ul>
<% } %>
</p>
</div>
</div>
</a>
</div>
<div class="col">
<a href="/setup/Saturday">
<div class="card mt-5" style="width: 75%">
<div class="card-body">
<h5 class="card-title text-center day-fontA">토요일</h5>
<p class="card-text">
<% if(arr_sat.length ==0) { %>
<p>토요일 운동이 없습니다!</p>
<% } else { %>
<ul>
<li><%= arr_sat[0].way %></li>
</ul>
<% } %>
</p>
</div>
</div>
</a>
</div>
<div class="col">
<a href="setup/Sunday">
<div class="card mt-5" style="width: 75%">
<div class="card-body">
<h5 class="card-title text-center day-fontA">일요일</h5>
<p class="card-text">
<% if(arr_sun.length ==0) { %>
<p>일요일 운동이 없습니다!</p>
<% } else { %>
<ul>
<li><%= arr_sun[0].way %></li>
</ul>
<% } %>
</p>
</div>
</div>
</a>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="/static/scripts.js"></script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title><%= day %>요일 운동 시작!</title>
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script
src="https://use.fontawesome.com/releases/v5.15.4/js/all.js"
crossorigin="anonymous"
></script>
<!-- Simple line icons-->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css"
rel="stylesheet"
/>
<!-- Google fonts-->
<link
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic"
rel="stylesheet"
type="text/css"
/>
<!-- Core theme CSS (includes Bootstrap)-->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Corinthia:wght@700&family=Anton&family=Jua&family=Fuzzy+Bubbles:wght@700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="/stylesheets/styles.css" />
<style>
.title-fontA {
font-family: 'Fuzzy Bubbles', cursive;
}
.title-fontB {
font-family: 'Anton', sans-serif;
}
.day-fontB {
font-family: 'Jua';
}
</style>
</head>
<body>
<div class="navbar navbar-expand-lg navbar-light bgtop">
<div class="container text-center mx-4 my-1">
<a class="navbar-brand title-fontA" href="/daySelect">Health Assistant</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/otherUser">OTHER</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/myHealth">MY</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/auth/logout/kakao">LOGOUT</a>
</div>
</div>
<section class="container">
<div>
<h1 class="day-fontB mt-5 text-center"><%= day%>요일 운동 수정</h1>
</div>
<div class="mt-5">
<table class="table text-center">
<tr>
<th>운동 방법</th>
<th>자극 부위</th>
<th>세트</th>
<th>횟수</th>
<th>쉬는시간(초)</th>
<th></th>
<th></th>
</tr>
<% for(let i=0; i <arr1.length ;i++) {
%>
<% if(arr1[i].way == Id) { %>
<tr>
<form method="POST" action="" id="editForm">
<td><input class="w-40" type="text" name="way" /></td>
<td><input class="w-40" type="text" name="part" /></td>
<td><input class="w-40" type="text" name="setNumber" /></td>
<td><input class="w-40" type="text" name="number" /></td>
<td><input class="w-40" type="text" name="breakTime" /></td>
<td><button class="btn" type="submit"><i class="far fa-check-circle"></i></button></td>
<td></td>
</form>
</tr>
<% } else {%>
<div>
<tr>
<td><%= arr1[i].way %></td>
<td><%= arr1[i].part %></td>
<td><%= arr1[i].setNumber %></td>
<td><%= arr1[i].number %></td>
<td><%= arr1[i].breakTime %></td>
<td></td>
<td></td>
</tr>
</div>
<% }} %>
</table>
</div>
</section>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="/static/scripts.js"></script>
</body>
</html>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<title>Health Assistant</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel="stylesheet"
/>
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script
src="https://use.fontawesome.com/releases/v5.15.4/js/all.js"
crossorigin="anonymous"
></script>
<!-- Simple line icons-->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css"
rel="stylesheet"
/>
<!-- Google fonts-->
<link
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic"
rel="stylesheet"
type="text/css"
/>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Corinthia:wght@700&family=Fuzzy+Bubbles:wght@700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="/stylesheets/styles.css" />
<style>
.title-fontA {
font-family: "Fuzzy Bubbles", cursive;
}
</style>
</head>
<body id="page-top">
<nav id="sidebar-wrapper">
<ul class="sidebar-nav">
<li class="sidebar-brand"><a href="#page-top">Health Assistant</a></li>
<li class="sidebar-nav-item"><a href="#page-top">Home</a></li>
<li class="sidebar-nav-item"><a href="#about">About</a></li>
<li class="sidebar-nav-item"><a href="#features">Services</a></li>
</ul>
</nav>
<div class="navbar navbar-expand-lg navbar-light fixed-top">
<a class="menu-toggle rounded" href="#"><i class="fas fa-bars"></i></a>
<div class="container mx-4 my-1">
<a class="navbar-brand title-fontA" href="#page-top"
>Health Assistant</a
>
</div>
</div>
<!-- Header-->
<header class="masthead d-flex align-items-center">
<div class="container px-4 px-lg-5 text-center">
<h1 class="mb-1">Health Assitant</h1>
<h3 class="mb-5"><em>헬스 관리 쉽게하자!</em></h3>
<a class="btn btn-dark btn-xl" href="/auth/kakao">카카오로 시작하기</a>
</div>
</header>
<section class="content-section bg-light" id="about">
<div class="container px-4 px-lg-5 text-center">
<div class="row gx-4 gx-lg-5 justify-content-center">
<div class="col-lg-4">
<h2 class="mb-3">Programmers</h2>
<p class="lead mb-5">2018102224 임준표</p>
</div>
<div class="col-lg-4">
<h2 class="mb-3">Introduction</h2>
<p class="lead mb-5">
Health Assistant is a Web based program for Daily exercisers.
</p>
</div>
<div class="col-lg-5 mt-1">
<a class="btn btn-dark btn-xl" href="#features">Features</a>
</div>
</div>
</div>
</section>
<section
class="content-section bg-primary text-white text-center"
id="features"
>
<div class="container px-4 px-lg-5">
<div class="content-section-heading">
<h3 class="text-secondary mb-0 title-fontA">Health Assistant</h3>
<h2 class="mb-5">Features</h2>
</div>
<div class="row gx-4 gx-lg-5">
<div class="col-lg-4 col-md-6 mb-5 mb-lg-0">
<span class="service-icon rounded-circle mx-auto mb-3">
<i class="fas fa-cogs"></i>
</span>
<h4><strong>효율성</strong></h4>
<p class="text-faded mb-0">
요일별 부위와 운동을 정리해 <br />효율적으로 볼 수 있습니다!
</p>
</div>
<div class="col-lg-4 col-md-0 mb-0 mb-lg-0">
<span class="service-icon rounded-circle mx-auto mb-3">
<div>
<i class="fas fa-clock"></i>
</div>
</span>
<h4><strong>시간관리</strong></h4>
<p class="text-faded mb-0">
타이머를 통해 쉬는시간을 <br />확실하게 알 수 있습니다!
</p>
</div>
<div class="col-lg-4 col-md-0 mb-0 mb-md-0">
<span class="service-icon rounded-circle mx-auto mb-3">
<i class="far fa-user-circle"></i>
</span>
<h4><strong>루틴추천</strong></h4>
<p class="text-faded mb-0">
나와 비슷한 체형인 <br />다른사람의 루틴을 볼 수 있습니다!
</p>
</div>
</div>
</div>
</section>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="/static/scripts.js"></script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>내 운동 목록</title>
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script
src="https://use.fontawesome.com/releases/v5.15.4/js/all.js"
crossorigin="anonymous"
></script>
<!-- Simple line icons-->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css"
rel="stylesheet"
/>
<!-- Google fonts-->
<link
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic"
rel="stylesheet"
type="text/css"
/>
<!-- Core theme CSS (includes Bootstrap)-->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Corinthia:wght@700&family=Jua&family=Anton&family=Fuzzy+Bubbles:wght@700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="/stylesheets/styles.css" />
<style>
.title-fontA {
font-family: 'Fuzzy Bubbles', cursive;
}
.title-fontB {
font-family: 'Anton', sans-serif;
}
.day-fontB {
font-family: 'Jua';
}
.table-title {
color: pink;
font-size: 20px;
}
</style>
</head>
<body>
<div class="navbar navbar-expand-lg navbar-light bgtop">
<div class="container text-center mx-4 my-1">
<a class="navbar-brand title-fontA" href="/daySelect">Health Assistant</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/otherUser">OTHER</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/myHealth">MY</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/auth/logout/kakao">LOGOUT</a>
</div>
</div>
<section class="container">
<div>
<h1 class="mt-5 text-center day-fontB">내 운동 목록</h1>
</div>
<div class="mt-5">
<table class="table text-center">
<tr class="table-title">
<th>운동 방법</th>
<th>자극 부위</th>
<th>세트</th>
<th>횟수</th>
<th>쉬는시간(초)</th>
</tr>
<div>
<% for(let i=0; i <arr1.length ;i++) {
%>
<tr>
<td><%= arr1[i].way %></td>
<td><%= arr1[i].part %></td>
<td><%= arr1[i].setNumber %></td>
<td><%= arr1[i].number %></td>
<td><%= arr1[i].breakTime %></td>
</tr>
<% } %>
</div>
</table>
</div>
<div>
<button class="btn btn-lg" onclick="location.href='/setup'" style="float: right;"><i class="fas fa-plus"></i> 추가</button>
</div>
</section>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>내 운동 목록</title>
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script
src="https://use.fontawesome.com/releases/v5.15.4/js/all.js"
crossorigin="anonymous"
></script>
<!-- Simple line icons-->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css"
rel="stylesheet"
/>
<!-- Google fonts-->
<link
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic"
rel="stylesheet"
type="text/css"
/>
<!-- Core theme CSS (includes Bootstrap)-->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Corinthia:wght@700&family=Jua&family=Anton&family=Fuzzy+Bubbles:wght@700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="/stylesheets/styles.css" />
<style>
.title-fontA {
font-family: 'Fuzzy Bubbles', cursive;
}
.title-fontB {
font-family: 'Anton', sans-serif;
}
.table-title {
color: pink;
font-size: 20px;
}
.otheruser {
font-family: 'Jua', sans-serif;
}
</style>
</head>
<body>
<div class="navbar navbar-expand-lg navbar-light bgtop">
<div class="container text-center mx-4 my-1">
<a class="navbar-brand title-fontA" href="/daySelect">Health Assistant</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/otherUser">OTHER</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/myHealth">MY</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/auth/logout/kakao">LOGOUT</a>
</div>
</div>
<section class="container">
<div>
<h1 class="otheruser mt-5 text-center"><%= username[0] %>**의 운동 목록</h1>
</div>
<% if(arr1.length == 0) { %>
<h2 class="text-center mt-5"><%= username[0] %>**님의 운동목록이 없습니다!</h2>
<% } else { %>
<div class="mt-5">
<table class="table text-center">
<tr class="table-title">
<th>운동 방법</th>
<th>자극 부위</th>
<th>세트</th>
<th>횟수</th>
<th>쉬는시간(초)</th>
</tr>
<div>
<% for(let i=0; i <arr1.length ;i++) {
%>
<tr>
<td><%= arr1[i].way %></td>
<td><%= arr1[i].part %></td>
<td><%= arr1[i].setNumber %></td>
<td><%= arr1[i].number %></td>
<td><%= arr1[i].breakTime %></td>
</tr>
<% } %>
</div>
<% } %>
</table>
</div>
</section>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel="stylesheet"
/>
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script
src="https://use.fontawesome.com/releases/v5.15.4/js/all.js"
crossorigin="anonymous"
></script>
<!-- Simple line icons-->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css"
rel="stylesheet"
/>
<!-- Google fonts-->
<link
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic"
rel="stylesheet"
type="text/css"
/>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Corinthia:wght@700&family=Jua&family=Anton&family=Fuzzy+Bubbles:wght@700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="/stylesheets/styles.css" />
<style>
.title-fontA {
font-family: 'Fuzzy Bubbles', cursive;
}
.title-fontB {
font-family: 'Anton', sans-serif;
}
.noneuser {
font-family: 'Jua', sans-serif;
}
</style>
</head>
<body>
<div class="navbar navbar-expand-lg navbar-light bgtop">
<div class="container text-center mx-4 my-1">
<a class="navbar-brand title-fontA" href="/daySelect">Health Assistant</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/otherUser">OTHER</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/myHealth">MY</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/auth/logout/kakao">LOGOUT</a>
</div>
</div>
<div class="container">
<% if(userlist.length ==0) { %>
<div class="mt-5 text-center noneuser">
<h1>비슷한 체형의 사용자가 없습니다!</h1>
</div>
<% } else { %>
<div class="row row-cols-1 row-cols-md-4 g-4 mt-4">
<% for(let i =0; i <userlist.length; i++) { %>
<div class="col">
<a href="/otherUser/show/<%= userlist[i].username %>">
<div class="card" style="width: 75%">
<div class="card-body">
<h5 class="card-title text-center">
<%= userlist[i].username[0] %>**
</h5>
<p class="card-text"></p>
<p><%= userlist[i].userHeight %></p>
<p><%= userlist[i].userWeight %></p>
</div>
</div>
</a>
</div>
<% }} %>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Setup</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel="stylesheet"
/>
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script
src="https://use.fontawesome.com/releases/v5.15.4/js/all.js"
crossorigin="anonymous"
></script>
<!-- Simple line icons-->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css"
rel="stylesheet"
/>
<!-- Google fonts-->
<link
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic"
rel="stylesheet"
type="text/css"
/>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Corinthia:wght@700&family=Jua&family=Anton&family=Fuzzy+Bubbles:wght@700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="/stylesheets/styles.css" />
<style>
.title-fontA {
font-family: "Fuzzy Bubbles", cursive;
}
.title-fontB {
font-family: "Anton", sans-serif;
}
.day-fontB {
font-family: "Jua", sans-serif;
}
</style>
<script src="/static/examples.js"></script>
</head>
<body id="page-top">
<div class="navbar navbar-expand-lg navbar-light bgtop">
<div class="container text-center mx-4 my-1">
<a class="navbar-brand title-fontA" href="/daySelect"
>Health Assistant</a
>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/otherUser">OTHER</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/myHealth">MY</a>
</div>
<div class="mx-3">
<a class="otherUser title-fontB" href="/auth/logout/kakao">LOGOUT</a>
</div>
</div>
<section class="container">
<div>
<h1 class="mt-5 text-center day-fontB">운동 추가!</h1>
</div>
<div class="mt-5" style="float: none; margin: 100 auto">
<form
class="w-50"
style="float: none; margin: 0 auto"
method="POST"
action="/setup"
>
<div class="mb-3 row">
<label for="staticEmail" class="col-sm-2 col-form-label"
>요일</label
>
<div class="col-sm-10">
<select class="form-select" name="day">
<option>선택해주세요</option>
<option value="월"></option>
<option value="화"></option>
<option value="수"></option>
<option value="목"></option>
<option value="금"></option>
<option value="토"></option>
<option value="일"></option>
</select>
</div>
</div>
<div class="mb-4 row">
<label for="staticEmail" class="col-sm-2 col-form-label">
운동 부위
</label>
<div class="col-sm-10">
<select
class="form-select"
name="part"
id="part"
onchange="addressKindChange(this)"
>
<option>선택해주세요</option>
<option value="어깨">어깨</option>
<option value="하체">하체</option>
<option value="이삼두">이두 삼두</option>
<option value="코어">코어</option>
<option value="유산소">유산소</option>
<option value="등"></option>
<option value="가슴">가슴</option>
<!-- <option value="d">이두</option> -->
<!-- <option value="e">삼두</option>
<option value="f">하체</option>
<option value="g">코어</option> -->
</select>
</div>
</div>
<div class="mb-4 row">
<label for="staticEmail" class="col-sm-2 col-form-label">
운동 방법
</label>
<div class="col-sm-10">
<select class="form-select" id="way" name="way">
<option>선택해주세요</option>
</select>
</div>
</div>
<div class="mb-4 row">
<label for="staticEmail" class="col-sm-2 col-form-label">
세트 수
</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="setNumber" />
</div>
</div>
<div class="mb-4 row">
<label for="staticEmail" class="col-sm-2 col-form-label">
횟수
</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="number" />
</div>
</div>
<div class="mb-4 row">
<label for="staticEmail" class="col-sm-2 col-form-label">
쉬는 시간(초)
</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="breakTime" />
</div>
</div>
<div class="mt-3 text-center">
<button type="submit" class="btn btn-lg">
<i class="fas fa-save"></i>
</button>
</div>
</form>
</div>
</section>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="/static/scripts.js"></script>
</body>
</html>
This diff is collapsed. Click to expand it.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<meta name="description" content="" />
<meta name="author" content="" />
<title>정보 입력</title>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script
src="https://use.fontawesome.com/releases/v5.15.4/js/all.js"
crossorigin="anonymous"
></script>
<!-- Simple line icons-->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css"
rel="stylesheet"
/>
<!-- Google fonts-->
<link
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic"
rel="stylesheet"
type="text/css"
/>
<!-- Core theme CSS (includes Bootstrap)-->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Corinthia:wght@700&family=Fuzzy+Bubbles:wght@700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="/stylesheets/styles.css" />
<style>
.title-fontA {
font-family: "Fuzzy Bubbles", cursive;
}
</style>
</head>
<body id="page-top">
<div class="navbar navbar-expand-lg navbar-light fixed-top">
<div class="container mx-4 my-1">
<a class="navbar-brand title-fontA">Health Assistant</a>
</div>
</div>
<div class="mastheadSecond">
<div class="container text-center mt-5">
<h1 class="text-white">User Information</h1>
<div class="row">
<div class="col-lg-6 order-lg-1">
<div class="p-5 mr-2 float-end">
<img
class="img-fluid rounded-circle"
src="../stylesheets/assets/img/human.png"
alt="..."
/>
</div>
</div>
<div class="col-lg-6 order-lg-2">
<div class="p-5 mt-3">
<form action="/user" method="post" id="userForm">
<div class="mt-5">
<input
class="form-control w-50 text-center"
placeholder="키를 입력해주세요"
type="text"
name="height"
/>
</div>
<div class="mt-4">
<input
class="form-control w-50 text-center"
placeholder="몸무게를 입력해주세요"
type="text"
name="weight"
/>
</div>
<div>
<button
class="btn btn-primary rounded float-start w-50 mt-4"
type="submit"
>
확인
</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- Bootstrap core JS-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="/static/scripts.js"></script>
</body>
</html>