사이트 주소
https://healthprotector.herokuapp.com/
목차
소개
사용자의 건강 증진을 도모하는 사이트입니다.
칼로리 계산, 헬스장 위치 찾기, 식품 영양정보 조회 등의 기능이 있습니다.
개발 환경
- node.js - 14.15.0 LTS
- jquery - 3.5.1
- mysql - 2.18.1
- HTML5
- CSS3
사용한 API
사용한 데이터베이스
사용한 알고리즘
- 표준 체중은 BMI법을 사용하였습니다.
- 사용자의 일일 권장 섭취 칼로리 계산 알고리즘은 Harris-BenedictEquation(B.E.E)을 사용하였습니다.
설치 방법
서버 설치 방법을 소개합니다. 이 방법은 Local에서만 동작합니다.
환경 구축
- node.js
이 링크에서 설치할 수 있습니다.
- mysql
이 링크에서 설치할 수 있습니다.
- npm
node.js와 함께 설치됩니다.
혹은 가장 최신 버전으로 업데이트합니다.
npm install -g npm
설치
-
리포지토리 클론
원하는 디렉토리에서 아래의 명령어를 입력해 이 리포지토리를 가져옵니다.git clone http://khuhub.khu.ac.kr/2019102154/HealthProtector.git -
npm 패키지 설치
서버 실행에 필요한 패키지(mysql, jquery 등)를 설치합니다.npm init npm install --save -
포트 변경
main.js에서 포트를 변경합니다. ( 기본값: 23000 )// main.js app.listen(process.env.PORT || "Enter your port", function () { console.log("Server on!"); }); -
카카오맵 api key 등록
카카오맵 api를 사용하려면 api key가 필요합니다.kakao developers사이트에 접속
로그인 후 애플리케이션 생성(web)
내 애플리케이션>앱 설정>플랫폼>Web 에서 사이트 도메인 등록(http://localhost:"your port num")
내 애플리케이션>앱 설정>요약 정보>앱 키 중 JavaScript키를 복사합니다.
lib폴더의 appkey.js에서 process.env.KAKAOMAP_KEY 대신 넣어줍니다.// lib/appkey.js var key = { kakaomapKey: "your kakao javascript key", }; -
식품영양정보DB 구동
식품영양정보DB를 필요한 정보를 바탕으로 가공하여 foodDB.csv를 이용했습니다.
DB를 사용하기 위해선 아래와 같이 작업하면 됩니다.사용할 mysql의 database에 foodDB.csv를 import 합니다.(mysql workbench를 사용하면 편리)
lib폴더의 db.js 파일 내용을 수정합니다.var db = mysql.createConnection({ host: "your host", user: "your user", password: "your password", port: "your port", database: "your database", }); -
서버 구동
main.js를 실행합니다.node main.js 혹은 npm start
이용 방법
-
웹 브라우저로 localhost:"your port num"에 접속합니다.
-
세 가지 기능이 있습니다.
칼로리 계산
맞춤 권장 칼로리, 섭취 음식 칼로리 계산을 해볼 수 있습니다.
맞춤 권장 칼로리 계산
키, 몸무게 등 개인의 신체 정보와 목표 체중, 목표 기간 등 목표를 입력한 후 계산하기 버튼을 누릅니다.
음식 칼로리 계산
- 먹은 음식의 이름이나 키워드를 검색합니다.
- 검색 결과 리스트 중 알맞은 음식을 찾아 '선택' 체크를 한 후 추가하기 버튼을 누릅니다.
- 먹은 음식을 모두 검색하여 체크 한 후 하단의 선택한 음식 리스트를 확인합니다.
- 알맞지 않은 항목은 '삭제하기' 버튼을 통해 삭제할 수 있습니다.
- 음식 선택이 완료되었다면 '총 칼로리 더하기' 버튼을 눌러 계산 결과를 확인할 수 있습니다.
헬스장 찾기
- 화면 좌측의 키워드 검색을 통해 해당 장소 주변의 헬스장 위치 정보를 알려줍니다.
- 지도 위의 파란 색 마크를 클릭하면 헬스장의 상세 정보를 확인할 수 있습니다.
식품 영양정보
- 알고자 하는 음식이나 키워드를 입력하면 해당 음식의 칼로리, 단백질, 지방 등의 영양 정보를 확인할 수 있습니다.
기여하기
이 프로젝트는 오픈소스입니다. 이 프로젝트가 발전할 수 있도록 기여해주세요.
- 리포지토리에서 프로젝트 포크
- 새 브랜치 생성(
git checkout NewFeature) - 변경사항 커밋(
git commit -m 'New Features Added') - 생성한 브랜치에 푸시(
git push origin NewFeature) - 머지 리퀘스트 요청
연락처
김동진/rlaehdwls310@khu.ac.kr
양효빈/qls0786@khu.ac.kr
궁금한 점이나 피드백, 오류 수정 등의 연락은 언제나 환영입니다!