H

HealthProtector

OSS Term Project

8cea78c5 readme.md 사 · by 김동진

Health Protector

사이트 주소

https://healthprotector.herokuapp.com/

목차

소개

home

사용자의 건강 증진을 도모하는 사이트입니다.
칼로리 계산, 헬스장 위치 찾기, 식품 영양정보 조회 등의 기능이 있습니다.

개발 환경

사용한 API

사용한 데이터베이스

사용한 알고리즘

  • 표준 체중은 BMI법을 사용하였습니다.
  • 사용자의 일일 권장 섭취 칼로리 계산 알고리즘은 Harris-BenedictEquation(B.E.E)을 사용하였습니다.

설치 방법

서버 설치 방법을 소개합니다. 이 방법은 Local에서만 동작합니다.

환경 구축

  • node.js

링크에서 설치할 수 있습니다.

  • mysql

링크에서 설치할 수 있습니다.

  • npm

node.js와 함께 설치됩니다.
혹은 가장 최신 버전으로 업데이트합니다.

npm install -g npm

설치

  1. 리포지토리 클론
    원하는 디렉토리에서 아래의 명령어를 입력해 이 리포지토리를 가져옵니다.

    git clone http://khuhub.khu.ac.kr/2019102154/HealthProtector.git
    
  2. npm 패키지 설치
    서버 실행에 필요한 패키지(mysql, jquery 등)를 설치합니다.

    npm init
    npm install --save
    
  3. 포트 변경
    main.js에서 포트를 변경합니다. ( 기본값: 23000 )

    // main.js
    app.listen(process.env.PORT || "Enter your port", function () {
        console.log("Server on!");
    });
    
  4. 카카오맵 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",
    };
    
  5. 식품영양정보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",
    });
    
  6. 서버 구동
    main.js를 실행합니다.

    node main.js
    혹은
    npm start
    

이용 방법

  1. 웹 브라우저로 localhost:"your port num"에 접속합니다.

    home

  2. 세 가지 기능이 있습니다.

    칼로리 계산

    countKcal
    맞춤 권장 칼로리, 섭취 음식 칼로리 계산을 해볼 수 있습니다.


    맞춤 권장 칼로리 계산
    countKcal_body

    키, 몸무게 등 개인의 신체 정보와 목표 체중, 목표 기간 등 목표를 입력한 후 계산하기 버튼을 누릅니다.
    countKcal_body_process

    음식 칼로리 계산
    countKcal_food

    - 먹은 음식의 이름이나 키워드를 검색합니다.
    - 검색 결과 리스트 중 알맞은 음식을 찾아 '선택' 체크를 한 후 추가하기 버튼을 누릅니다.
    - 먹은 음식을 모두 검색하여 체크 한 후 하단의 선택한 음식 리스트를 확인합니다.
    - 알맞지 않은 항목은 '삭제하기' 버튼을 통해 삭제할 수 있습니다.
    - 음식 선택이 완료되었다면 '총 칼로리 더하기' 버튼을 눌러 계산 결과를 확인할 수 있습니다.

    헬스장 찾기

    searchGym

    - 화면 좌측의 키워드 검색을 통해 해당 장소 주변의 헬스장 위치 정보를 알려줍니다.
    - 지도 위의 파란 색 마크를 클릭하면 헬스장의 상세 정보를 확인할 수 있습니다.

    식품 영양정보

    foodInfo

    - 알고자 하는 음식이나 키워드를 입력하면 해당 음식의 칼로리, 단백질, 지방 등의 영양 정보를 확인할 수 있습니다.

기여하기

이 프로젝트는 오픈소스입니다. 이 프로젝트가 발전할 수 있도록 기여해주세요.

  1. 리포지토리에서 프로젝트 포크
  2. 새 브랜치 생성(git checkout NewFeature)
  3. 변경사항 커밋(git commit -m 'New Features Added')
  4. 생성한 브랜치에 푸시(git push origin NewFeature)
  5. 머지 리퀘스트 요청

연락처

김동진/rlaehdwls310@khu.ac.kr
양효빈/qls0786@khu.ac.kr

궁금한 점이나 피드백, 오류 수정 등의 연락은 언제나 환영입니다!