*๋ฐฐํฌ๋ ์ฃผ์
youjunyong.shop/
*ํ๋ก์ ํธ ์๋
๋ด๊ฐ ์์ฃผ ์ฌ์ฉํ๋ ์ดํ์ค์ ๊ณต๋ถ์๊ฐ์ ์ฒดํฌํ๋ ์ดํ์ด ์๋ค. ํ์ง๋ง ๋ด์งํ๋ฉฐ ๋ญ๋นํ๋ ์๊ฐ๊ณผ ๊ณต๋ถํ๋ ์๊ฐ์ ๋น๊ตํด๋ณด๊ณ ์ถ๋ค๋ ์๊ฐ์ ํ๊ณ , web์์ ์๋ํ๋ค๋ฉด, ํ
๋ธ๋ฆฟ , pc , ์ค๋งํธํฐ์์ ์ค์๊ฐ์ผ๋ก ์๋์ด ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐ์ด ๋ค์ด ๋ง๋ค์ด ๋ณด์๋ค.
์๋ง ์ด๊ฒ์ ๋์ ์ฒซ ํ๋ก์ ํธ๋ผ๊ณ ๋งํ ์ ์๋๋ฐ, ๊ณํ์์ด ์ถ์์ ์ธ ์๊ฐ๋ง ๊ฐ์ง๊ณ ์ฆํฅ์ ์ผ๋ก ๋ง๋ค๋ค๋ณด๋, ๋ณ์๋ช
๋ ์ผ๊ด๋์ง ์๊ณ ๋ง๊ทธ๋๋ก ์คํ๊ฒํฐ ์ฝ๋๊ฐ ๋๊ฒ๊ฐ๋ค. ํนํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ค๊ณํ๋๊ฒ ์ค์ํ๋ค๋ ์ ์ ๋๊ผ๋ค.
*์ฌ์ฉ
- Chart.js
- Flask
- AWS EC2(๋ฐฐํฌ)
- ๊ฐ๋น์(๋๋ฉ์ธ)
- MongoDB
- html, css, js
* Home ํ๋ฉด
https://startbootstrap.com/themes/
์ด๊ณณ์ ์๋ ํ
๋ง๋ฅผ ์ฌ์ฉํ๋ค. ํ
๋ง ์ด๋ฆ์ Grayscale ์ด๋ฉฐ ๋ฌด๋ฃ์ด๋ค.
"์๊ฐ๊ด๋ฆฌ"๋ผ๋ ์ปจ์
์ ๋ง๊ฒ ์๊ณ์ฌ์ง๊ณผ ํ์ฌ์๊ฐ์ ํ ์์น์ ๋ง๊ฒ ํ์ํ๋๋ก JavaScript๋ก ๊ตฌํํ๋ค.
*ํ์๊ฐ์
๋ฐ ๋ก๊ทธ์ธ
*ํ์๋ผ์ธ
ํ๋๋ฒํผ์ด๋ ๋นจ๊ฐ๋ฒํผ์ ๋๋ฅด๋ฉด , ํ๋ฉด์ ๊ณต์ด ์๊น์ด ๋ณํ๋ฉด์ ์์๋๋ก ํ๊ธฐ๋ฏ์ด ์์ง์ด๋ฉฐ ์นด์ดํ
์ด ์์๋๋ค.
๊ธ์ ์ ์ธ ์๊ฐ์ ํ๋์์ผ๋ก ํ์๋ผ์ธ์ ๊ธฐ๋ก๋๋ฉฐ, ๋ถ์ ์ ์ธ ์๊ฐ์ ๋นจ๊ฐ์์ผ๋ก ๊ธฐ๋ก๋๋ค.
์ ๋ชฉ์ ๋๋ฌ ์์ ํ๊ฑฐ๋ ์ญ์ ๊ฐ๋ฅํ๋๋ก ๋ง๋ค์๋ค.
์ฌ์ฉ๊ธฐ๊ธฐ๋ฅผ ๋ฐ๊พธ์ด ๋ก๊ทธ์ธํ์๋ , ์นด์ดํธ ๋๊ณ ์๋ ์๊ฐ์ด ์ ์ง๊ฐ ์๋๋ ๋ถ๋ถ์ ๋ค๋ฆ๊ฒ ๋ฐ๊ฒฌํด์ ๋ง์ด ์ฝ์ง์ ํ์๋ค.
*์ฐจํธ (ํต๊ณ)
์ด๋ ๊ฒ ํ์๋ผ์ธ์ ์ฒดํฌํ๋ฉด์ ๊ธฐ๋ก์ด ์์ด๊ฒ ๋๋ฉด ์ฐจํธ๋ฅผ ๋ณผ ์ ์๋ ๋ฒํผ์ด ์๊ธด๋ค. ๋ฒํผ์์๋ ๊ทธ๋ ์ ๋ ์ง๊ฐ ์ฝ์
๋๋ค.
๋ฒํผ์ ๋๋ฅด๊ฒ ๋๋ฉด, ํ์ด๊ทธ๋ํ๋ก ๊ณต๋ฐฑ์ธ ์๊ฐ(๊ธฐ๋ก ์๋์๊ฐ) , Plus ์๊ฐ, Minus์๊ฐ์ผ๋ก 3๊ฐ์ง๋ก ํ์๋๋ค.
์ฐจํธ๋ Chart.JS ๋ฅผ ์ฌ์ฉํ๋ค.
* ๊ฐ์ ์ฌํญ (๋๋์ )
์ํ์ด์ง + ๋น๋๊ธฐ ํต์ ์ ํตํด์ ์ต๋ํ ์ดํ๊ฐ์ ๋๋์ผ๋ก ๋ง๋ค์ด๋ณด๊ณ ์ถ์๋ค. ์๋ฌด๋ ์ฐ์ง ์์ ๋งํผ ๊ตฌ๋ฆฌ์ง๋ง, ์ ๋ง ๋ง์ ๊ณต๋ถ๊ฐ ๋ ๊ฒ ๊ฐ์๋ค.
๊ธฐ๋ก (๊ณํ ๋ฐ ์ค๊ณ, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ๋
ธํธ?) ์ ๋จ๊ฒผ๋๋ผ๋ฉด ์ข์๊ฒ ๋ค ๋ผ๋ ์๊ฐ์ ํ๋ค. ์ฒซ๋ฒ์งธ ํ๋ก์ ํธ๋ค ๋ณด๋ , ์ด๋ป๊ฒ ? ๋ญ๋ถํฐ ? ํด์ผํ ์ง ๋ชฐ๋ผ ๋ฌด์์ ์์ํ๋๋ฐ ๊ทธ๋๋ ํ๋ฒ ํ๊ณ ๋๋๊น ๋ค์์ ์ด๋ป๊ฒ ํด์ผ๊ฒ ๋ค ๋ผ๋๊ฒ ๋ชธ์ผ๋ก ์๋ฟ๋๋ค.
* app.py (์ผ๋ถ)
from api_v1 import api as api_v1
app = Flask(__name__)
app.register_blueprint(api_v1 , url_prefix='/api/v1')
flask blueprint๋ฅผ ์ด์ฉํ์ฌ api_v1๋ก ๋ชจ๋์ ๋๋์ด ์ฃผ์๋ค.
*api_v1 (์ผ๋ถ)
from . import api
from flask import jsonify, request, Blueprint, session, redirect ,flash
from models import db , MyUser , SaveTime , LoadTime
import requests
@api.route('/plustime' , methods=["GET", "POST"])
def plustime():
if request.method == "POST":
timeType = request.form['timeType']
time = request.form['Time']
userEmail = session.get('userEmail', None)
save = SaveTime
save.saveTime(userEmail , time, timeType)
if 'Start' in timeType :
return jsonify({'result':'success','msg':'Plustime ์์'})
elif 'End' in timeType :
return jsonify({'result':'success','msg':'Plustime ๋'})
ํ์๊ฐ์
์ ์ ์ธํ ๋ชจ๋ ๋ฐ์ดํฐ ํต์ ์ api_v1์์ ํ๋๋ก ๊ตฌ์ฑํ๋ค.
*ํ์ผ ๊ตฌ์ฑ
https://github.com/Youjunyong/binaryTime
* ์์ค์ฝ๋