https://github.com/chanmin-kim/flask-mongodb-kleague
전체 소스코드는 여기서 확인할 수 있다.
3가지 기능을 주로 활용하였다.
1) JWT방식을 통한 로그인
2) Flask + MongoDB를 통한 CRUD
3) ajax 통신 (혹은 fetch)
먼저 1의 측면에서, 세션/토큰/소셜로그인의 방식이 있는데, 토큰을 사용해보는 것에서 배우는 것이 있었다. 각자 장단점이 있다고 생각하는데, 내가 서비스를 설계할 때는 토큰과 소셜로그인(페북, 구글 로그인기능)을 주로 사용할 것 같다.
2의 측면에서, Python 백엔드로는 주로 관계형 DB를 사용하고, 라이브러리로 sqlalchemy, db로는 가장 기본적으로 sqlite를 사용하곤 하는데, 이번에는 비정형 DB로서, 라이브러리로는 pymongo, db로는 mongoDB를 사용해서 조금 색달랐다. 오히려 ORM을 사용하는 것보다 더 편한 것 같다.
3의 측면에서, 그동안은 api단에서 http요청이 왔을 때, 렌더링하는 것만 생각했는데, 프론트 부분에서도 http요청을 보낸다는 것의 의미를 깨달을 수 있었다. 쉽게 말해서 새로고침처럼 http요청을 할 수 있다는 것이다. 뒤에 백엔드 부분은 http요청받은 것을 json으로 응답하는 것만 생각하면 될 것 같고, 프론트 부분에서는 받는 json데이터를 어떻게 ui에 찍어줄지, 그리고 버튼을 눌렀을 때 어떻게 http요청을 보낼지. 이렇게 이해하면 될 듯하다.
'Projects > Flask + MongoDB K리그 일정서비스' 카테고리의 다른 글
#5. 경기정보 삭제, 댓글 삭제 (0) | 2021.06.13 |
---|---|
#4. 상세페이지 구현 | 경기 상세정보와 댓글 (0) | 2021.06.13 |
#3. 관리자 페이지 | 경기정보, 회원비활성화 (0) | 2021.06.13 |
#2. 회원가입 및 로그인 (0) | 2021.06.13 |
#1. 홈페이지 화면 설계 (0) | 2021.06.13 |