김묭의 자기개발

Porjects.1 - 버킷리스트 본문

내일배움캠프/Project.1

Porjects.1 - 버킷리스트

포령 2023. 3. 3. 15:59

프로젝트 회차 : 1회(2023.03.03~2023.03.10)

조 이름 : 핑핑이집사단

개발 목적 : 내일배움캠프단을 진행하면서 조원들에게 동기부여를 위해 제작

 

<초기 디자인>

index.html
create_team.html
bucket.html

 

<파트 담당>

-김근혜(프) : create_team 프론트 담당

-우소라(프) : bucket 프론트 담당

-최예지(프) : index 프론트 담당

-김미영(백) : 버킷 작성, 버킷 조회 및 불러오기, 버킷 업데이트

-최창수(백) : 팀 생성및 불러오기, 팀페이지 삭제, 팀 조회

 

<api 문서 작성> -> 수정 예정

API documentation.docx
0.01MB

- database 구성 및 pk값 설정

- method 정의 및 url 설정

- 각 기능 별로 상세 api 작성 -> rquest, response, pathvariable, parameter

 

<2023.03.02 - 코드 진행 상황>

-대략적인 뼈대 작성

-함수 구성 : save_content, delete_cntent, put_content

-문제점 : url을 통해 파라미터를 전달하고 싶은데 아직 감이 잘 안잡힘. 추후 구글링을 통해 해결할 예정

-해결 방안 : 지금 까지 검색 결과로는 <path:team_name> 과 <str:team_name>등이 있으나 작동 할 지는 확인 못함.

 

<작성한 코드>

import datetime
from pymongo import MongoClient
from flask import Flask, render_template, request, jsonify, app
app = Flask(__name__)
client = MongoClient(
'mongodb+srv://sparta:test@cluster0.280f8z1.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta


@app.route('/')
def home():
return render_template('index.html')


# #버킷리스트 저장
@app.route("/list", methods=["POST"])
def save_content():
# team_name = request.args.get('team_name',type = str)
content_receive = request.form['content_give']
# date = datetime()
 
doc = {
# 'team_name' : team_name,
'content' : content_receive,
'date' : datetime.datetime.now(),
'done' : 0
}
 
db.contents.insert_one(doc)
print(doc)
 
return jsonify({'msg':'버킷리스트가 생성되었습니다.', 'done':0})
 
 
# #버킷리스트 삭제
# @app.route("/list/{team_name}", methods=["DELETE"])
# def delete_content():
# team_name = {team_name}
# content_receive = request.form['content_give']
# date = request.form['date_give']
 
# db.contents.delete_one({'team_name':team_name, 'content':content_receive, 'date' : date})
# return jsonify({'msg':'버킷리스트가 삭제되었습니다.'})
 

# #버킷리스트 완료
# @app.route("/list/{team_name}", methods=["PUT"])
# def put_content():
# team_name = {team_name}
# content_receive = request.form['content_give']
# date = request.form['date_give']
 
# db.contents.update_one({'team_name':team_name, 'content':content_receive, 'date' : date},{'$set':{'done':1}})
# return jsonify({'msg':'버킷리스트 달성!', 'done':1})





if __name__ == '__main__':
app.run('0.0.0.0', port=8000, debug=True)

-> 오류가 발생할 수도 있어서 주석 처리함.

 

<느낀 점>

웹개발 종합반을 복습하는 의미에서 시작한 프로젝트이지만, 자꾸 욕심히 생긴다..! api문서는 처음 작성해 봐서 감이 안잡히지만 계속 수정해나갈 예정이다! 시작한 것에 큰 의미를 두자! 모르는 부분들은 튜터님과 매니저님이랑 함께 상의 해야겠다^ㅇ^

팀원을 잘 만난 것 같아서 참 다행이다. 협업에 가장 중요한 것은 책임감과 소통이라고 생각한다! 타인에게 바라기 전에 내가 먼저 그런 사람이 되는 것을 목표로 하고 노력해야겠다. 아직 오류들이 발생하지 않았지만 분명 엄청 많을 예정...ㅠㅠ 그래도 팀원들이 있으면 해낼 수 있다! 아자 화이팅 가보자구~