sparta/웹개발

[항해99]00사전준비/5주차

hahihuree 2021. 6. 6. 02:21
  1. Flask 프레임워크를 활용해서 API를 만들 수 있다.
  2. '마이 페이보릿 무비스타'를 완성한다.
  3. EC2에 내 프로젝트를 올리고, 자랑한다!

배포준비

1. Filezilla 설치 : 서버에 업로드 및 다운로드 하는 통로

2. 가비아에서 도메인 구입.

 

[무비스타] 프로젝트

1. flask폴더 구조 만들어 세팅 완료

 

2. DB만들기

  실제 프로젝트는 사용할 데이터를 웹 스크래핑 해서 DB에 저장하는 코드를 사용하지만,

  API 연습 프로젝트이니 이 부분은 생략.

 

3. 뼈대 준비

   index.html 파일과 app.py 파일 준비.

 

4. GET연습(보여주기)

   ① 만들기능 : 영화인 정보를 카드로 보여주기.

   ② 문제분석 : 화면과 동작 살피기.(화면에 어떤 데이터가 어떤 부분에 보여지는지 파악.)

   ③ 만들 API : 영화인 정보 전체 조회

       A. 요청정보

           - 요청 URL = /api/list

           - 요청 방식 = GET

           - 요청 데이터 : 없음.

       B. 서버가 제공할 기능 : DB에 영화인 정보 조회(Read)하고 그 정보는 응답 데이터로 보냄.

       C. 응답 데이터 : (JSON 형식) 'stars_list'= 영화인 정보 리스트

   ④ GET연습(보여주기) 순서대로 코딩

       1. 클라이언트와 서버 연결 확인

       2. 서버 만들기(클라이언트로부터 받을 정보 없으니 간단!)

          - db목록 전체 검색하고 ID를 제외하고 like가 많은 순으로(sort) 정렬.

          - 성공하면 success메세지와 함께 stars_list목록을 클라이언트에 전달.

       3. 클라이언트 만들기

          - 서버에 GET방식으로 /api/list 라는 주소로 영화인 정보 리스트 조회요청.

          - 서버가 돌려준 영화인 정보 리스트를 변수에 저장.(콘솔창으로 잘 나오나 확인.)

          - for 문을 활용하여 stars 배열의 요소를 차례대로 조회.(콘솔창으로 잘 나오나 확인.)

          - temp_html로 해당 영역에 붙이기.

          - 해당 영역 html태그 삭제.

       4. 완성 확인

5. POST연습(좋아요+1)

   ① 만들기능 : 좋아요 버튼 클릭시 +1 증가되면서 많은 순으로 정렬.

   ② 만들 API : 클라이언트에서 받은 이름(name_give)으로 찾아서 좋아요(like)를 증가.

       A. 요청정보

           - 요청 URL = /api/like

           - 요청 방식 = POST

           - 요청 데이터 : 영화인 이름(name_give)

       B. 서버가 제공할 기능 : 영화인 이름(요청 데이터)과 일치하는 영화인 정보의 좋아요 수를 한 개 증가시켜

                                      DB에 업데이트하고 성공했다는 응답메세지 보냄.

       C. 응답 데이터 : 응답 데이터 : (JSON 형식) 'msg'='좋아요 완료!'

③ POST연습 순서대로 코딩

       1. 클라이언트와 서버 연결 확인

       2. 서버 만들기

          **좋아요 수를 증가시키기 위해 서버는 클라이언트에게 영화인 이름 (name_give)을 전달받아야 함.

          - 클라이언트가 전달한 name_give를 name_recieve 변수에 넣음.

          - mongoDB에서 find_one으로 name이 name_receive와 일치하는 영화인 찾고

          - 그 중에 like값을 찾기위해 변수 생성하고

          - 그 변수에 +1을 해준 new_like 변수 생성.

          - mongoDB에서 name이 name_receive인 문서의 like 를 new_like로 변경해서 업데이트.

       3. 클라이언트 만들기(간단!)

          ** 좋아요 수를 증가시키기 위해 클라이언트는 영화인 이름 (name_give)을 서버로 전달해야 함.

          - 서버에

              · 전달 URL = /api/like

              · 전달 방식 = POST

              · 전달 데이터 : name_give 라는 이름으로 name 전달.(POST 방식이므로 data: {'name_give': name} 사용.)

          - '좋아요 완료!' alert 창 띄우기.

       4. 완성 확인