Skip to content

yunsik0115/piro14dogotogether

Repository files navigation

피로그래밍 14기 프로젝트(5조) : 가치가개

팀원소개 / 역할분담

1. 전태수 (Taesu Jeon, TEAM LEADER)

1. BackEnd
    - Ajax 통신을 위한 모델 및 뷰 구현(Community 내부)
    - AJAX를 이용한 댓글 수정
2. Frontend
    - Ajax와 Javascript를 이용한 좋아요 기능 구현
    - KAKAOMAP API 적용 담당
3. IDEA Designer
    - 가치가개 아이디어 제공, 구현에 필요한 기능 구상 발표
    - 최종발표, PPT 작성

2. 임채원 (Chaewon, Im)

1. Backend
    - 프로젝트 배포(AWS, NGINX, USWGI 이용) Domain 설정 및 https 프로토콜 적용
2. Frontend
    - WireFrame Constructor(Frontend Lead Member) : Adobe XD를 이용한 와이어프레임 개발
    - 와이어프레임 프론트엔드 적용 및 수정(프론트엔드 단 기획, 개발 리딩)
    - 전반 템플릿 구현(Home화면 및 Base.html,커뮤니티 앱 전체 퍼블리싱)
    - 반응형 css 구현
3. UX/UI Designer
    - 서비스 전체 플로우 기획 & ui 컨셉,레이아웃,인터렉션 디자인

3. 김윤식 (Yunsik, Kim)

1. Backend
    - 커뮤니티 앱 내부 기본 기능(포스트 수정, 생성, 삭제, 목록) 구현
    - Kakao map api 적용을 통한 marker표시 및 데이터 처리
    - 댓글 create, delete ajax 구현
2. Data Mining
    - KAKAO MAP API에 적용하기 위한 데이터 크롤링(반려동물 병원, 위치정보, 기타설명 등등, excel 파일)
    - 데이터 출처 (https://www.culture.go.kr/data/openapi/openapiView.do?id=519&gubun=B)
    - 데이터를 구현된 kakao api에 정보 전달될 수 있도록 수정 작업. (기존 테스트 데이터 -> 실사용데이터)
3. ReadMe.md 작성

4. 김시연 (Siyeon, Kim)

1. Backend
    - 소셜 로그인, 로그인, 회원가입을 포함한 accounts 앱 구현당 담당
    - Naver, Google 소셜 로그인 구현
    - 견종별 산책 시간 계산을 위한 데이터 크롤링 담당
    - kakao map api geolocation 구현 담당(Javascript)
2. Frontend
    - 반응형 css 구현

5. 조은기 (Eungi, Cho)

1. Backend
    - 소셜 로그인, 로그인, 회원가입을 포함한 accounts 앱 구현 담당
    - Naver, Google 소셜 로그인 구현
    - 견종별 산책 시간 계산을 위한 데이터 크롤링 담당
2. Frontend
    - 반응형 css 구현
    - data mining을 통해 추출된 애견 전문사이트 데이터 프론트엔드 단에
4. Data Mining
    - 외국 애견 전문 사이트에서 견종 크롤링, 견종 체중 공식과 결과 페이지에 도출할 이미지 크롤링.

2. 아이디어 소개

1. 아이디어 이름 : 가치가개

아이디어 : 개와 같이 가다 -> 강아지의 가치를 존중하자, 반려견들의 산책을 보다 쉽게 할 수 있게 도와주는 서비스

2. Main Function

  1. 사용자 위치 기반으로 반려견 출입 가능 지역 및 산책 가능 지역 개별 제공
  2. 반려견의 종에 따라 하루 권장 산착거리 및 산책 시간 등 데이터 제공
  3. 강아지 산책과 관련한 FAQ Section 및 산책 후기 공유

3. 구현계획

초기 계획은 가치가개 프로그램 발표(발표자 : 전태수) 참고

1. Frontend : 임채원님 주도로 Adobe XD를 통해 생성된 와이어프레임을 참고

2. BackEnd : Django 내 별 기능 구현 계획

Account 로그인 및 소셜로그인 기능 구현과 사용자 가입시 동시에 사용자 프로필 생성될 수 있도록 구현 (ODP)
Blog 산책 후기 공유를 위한 커뮤니티 구현(글, 댓글, 좋아요 기능 구현 + 권한처리)
Map KAKAOMAP API를 활용하여 사용자 위치 기반 안내 서비스, 사용자 등록 데이터 기반 안내 서비스 구현
Calculator 견종별 하루 권장 산책거리 및 시간 제공

4. 구현에 사용할 라이브러리/플러그인

1. Django (WebFramework For Python)

>
피로그래밍 14기 세션 및 인강학습기간(12/29/2020 ~ 01/28/2021) 동안 학습한 Django WebFramework를 이용하여
배운 내용을 복습하고, 사이드 프로젝트 구현을 통해 학습한 내용을 한 층 더 굳혀나가는 기회를 얻기 위함입니다.

2. Pandas (공공API 및 홈페이지 데이터 크롤링)

공공 API 데이터를 적절히 크롤링하여, 사용자에게 제공하는데 필요한 데이터를 적절히 정제하여
타 API(카카오) 또는 스스로의 프로그램에 잘 적용하는 방법을 배우기 위해 사용하였습니다.

3. BeautifulSoup

2번 Pandas 사용 이유와 동일합니다.

4. ChromeWebDriver

2번 Pandas 사용 이유와 동일합니다.

3. 활동 과정


활동 과정 중 고민이었던 부분들!

  • KAKAO API 위치 정보를 얻어오려면 Geolocation이 필요한데 HTTPS 프로토콜을 통해 배포할 수 있을까?

    HTTPS 배포 세션을 따로 진행하신다고 하신다! // SSL인증 관련 (곧 해결 될 수 있을 것 같다)

  • 크롤링을 어디서 어떻게 해올것인지(대상 API를 찾아야한다....)

    구글링을 통해 공공데이터포털(서울시) 및 해외 사이트에서 대상 정보를 크롤링해오는것으로 해결
    > > + 카카오 맵 API검색기능 활용예정!

  • 사이트 접속 시도마다 크롤링을 해오면, 비용측면에서 비효율적이지 않을까?

    Code Review 도중 얻은 Feedback, 크롤링으로 데이터를 만든 이후 저장하여 활용하는 방법으로 변경

  • Pandas와 Webdriver를 이용해 크롤링으로 엑셀파일까지는 만들었다 -> 어떻게 활용하지?

    npm convert-xlsx-to-json을 이용하여 엑셀파일 -> json방식으로 변환하여 저장

  • Json을 통한 데이터 저장 이후 파싱 VS Json 파일을 SQL에 입력 이후 장고에서 사용(어떤게 효율적인가?)

    StackExchange 관련자료
    > >
    "변환한 Json파일을 Database에 적용시킬 방법을 알아보도록 하자" -> 참고

  • Django Secret Key와 API Secret Key를 어떻게 분리하는게 좋을까?

    방법 1) 시스템 내부 환경변수에 지정한 뒤, os.environ 이용
    방법 2) secrets.json 생성 이후 .gitignore에 추가 -------------------> 현 프로젝트에 사용한 방법

  • MAP 마커가 많으면 Ajax에서 ERR_INSUFFICIENT_RESOURCES 오류가 나타난다 어떻게 해야할까?

    일단 병원. 약국 마커는 기획 의도에 맞지 않다고 판단하여 제거하였으나, Clustering을 통해 해결 가능할듯함.<br

  • 팀원간 개발도중 나타나는 pip dependencies로 인한 오류 예방 어떻게 해 할까?

    팀원간 가상환경 venv (python -m venv venv)을 이용하고, pip freeze > requirements.txt를 이용해 의존성 기록
    환경 생성할때 pip(3) -r requirements.txt를 이용해 의존성 플러그인 설치 가능

  • Create Project 이후에 장고 버전 다운그레이드로 인한 충돌 해결방법?

    처음에 팀원간 장고 프로젝트 버전을 합의하고 createproject를 하는게 좋다. (자동으로 최신버전을 깔아버린 탓에..)

  • Class Based View Vs Function Based View?

    필요에 따라 사용하기로 함. 처음 배운 내용은 함수형 뷰였기에, 클래스형 뷰는 팀원간 코드 리뷰하는 시간을 가졌음.

About

가치가개, 피로그래밍 14기 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published