Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Readme update #97

Merged
merged 286 commits into from
May 21, 2023
Merged
Show file tree
Hide file tree
Changes from 54 commits
Commits
Show all changes
286 commits
Select commit Hold shift + click to select a range
5c39cb8
Merge pull request #28 from kookmin-sw/style/css
sanglim00 Mar 30, 2023
138cb0c
feat. mypage 퍼블리싱 완료
sanglim00 Mar 30, 2023
44eaa33
feat. setting 페이지 퍼블리싱 완료
sanglim00 Mar 30, 2023
884a323
Merge pull request #30 from kookmin-sw/feat/setting
sanglim00 Mar 30, 2023
750c71d
fix. 회원가입 form 데이터 타입 수정
Ziihong Mar 30, 2023
42c3add
fix. signup api 이미지 데이터 전송
Ziihong Mar 30, 2023
895505e
Merge remote-tracking branch 'origin/develop' into develop
young43 Mar 30, 2023
9e3d156
크롤링 이전내용 저장 주석처리
young43 Mar 30, 2023
9d78dd0
pip freeze DM
young43 Mar 30, 2023
ac51958
utf-8 인코딩 주석 추가
young43 Mar 30, 2023
f430875
host ip 추가
young43 Mar 30, 2023
a70e1fc
fix. 회원가입 페이지 policy 선택 이미지 설정
Ziihong Mar 30, 2023
7203d8b
Merge branch 'develop' into feat/api-call
Ziihong Mar 30, 2023
3616fde
Merge pull request #32 from kookmin-sw/feat/api-call
Ziihong Mar 30, 2023
ba26c43
mecab os에 따라 다르게 설정
young43 Mar 30, 2023
9b78e03
requirements.txt update for ubuntu
Mar 30, 2023
9be37a9
fix. package.json 에 axios 추가
sanglim00 Mar 31, 2023
a38fef0
Merge pull request #33 from kookmin-sw/README-update
young43 Mar 31, 2023
d78a873
Merge pull request #34 from kookmin-sw/develop
young43 Mar 31, 2023
a4e8820
Merge pull request #35 from kookmin-sw/README-update
young43 Mar 31, 2023
e7c46f4
Merge pull request #36 from kookmin-sw/develop
young43 Mar 31, 2023
ab2ad7d
pandas csv read 오류 수정
SeoYoungYun Mar 31, 2023
0db6868
pandas csv read 오류 수정
SeoYoungYun Mar 31, 2023
d27f462
feat. 취향설정 관련 페이지 및 모달창 제작
sanglim00 Mar 31, 2023
bda2837
Merge branch 'develop' into feat/taste
sanglim00 Mar 31, 2023
f7160bd
Merge pull request #38 from kookmin-sw/feat/taste
sanglim00 Mar 31, 2023
786b7af
평가 데이터 없는 유저 오류 핸들링
SeoYoungYun Mar 31, 2023
fd2f8aa
Update README.md
sanglim00 Apr 2, 2023
cce22d3
delete node_modules
Ziihong Apr 11, 2023
6551e38
feat. chatGPT api 연결 페이지 생성
Ziihong Apr 18, 2023
27ffdea
fix: 회원가입 sql 수정
Ziihong Apr 25, 2023
6ad38aa
feat: openai controller 생성
Ziihong Apr 25, 2023
fe5cd41
feat. openai api 연결
Ziihong Apr 25, 2023
bac8fce
fix. openai model 수정
Ziihong Apr 25, 2023
4a0beb4
refactor. axios api call
Ziihong Apr 27, 2023
8ee99ce
refactor. es6 module로 수정
Ziihong Apr 27, 2023
06af01b
Merge pull request #39 from kookmin-sw/feat/chatGPT-api
Ziihong Apr 28, 2023
e140ac4
feat. 여행지 정보 불러오기 api 생성
Ziihong Apr 28, 2023
f249016
feat. 여행지 대표 이미지 설정
Ziihong Apr 30, 2023
5002101
Merge pull request #40 from kookmin-sw/feat/chatGPT-api
Ziihong Apr 30, 2023
3471f48
fix. 여행지 추천 페이지 데이터 수정
Ziihong Apr 30, 2023
1a288b4
TF-IDF벡터 pickle 데이터로 저장
young43 Apr 17, 2023
1c9f8e3
api 테스트 모듈 변경
young43 Apr 17, 2023
1e99acd
API url 변경
young43 May 1, 2023
62148ae
pickle 데이터 업로드
young43 May 1, 2023
d0e59ce
fix. 여행지 대표 이미지 렌더링 오류 수정
Ziihong May 1, 2023
2f4994f
feat. loading 페이지 생성
Ziihong May 1, 2023
c045e5c
중복코드 삭제
young43 May 1, 2023
7f85680
Merge branch 'master' of https://github.com/kookmin-sw/capstone-2023-…
May 1, 2023
a3d6d83
Merge branch 'develop' of https://github.com/kookmin-sw/capstone-2023…
May 1, 2023
996fc96
feat. user 취향 설정 api
Ziihong May 1, 2023
030ec67
feat. user 여행 기록 저장 api
Ziihong May 1, 2023
cc35dbd
cors 설정
young43 May 1, 2023
e9bd8e5
Merge branch 'develop' of https://github.com/kookmin-sw/capstone-2023…
May 1, 2023
70e72e2
cors 설정
young43 May 1, 2023
9485bc6
Merge branch 'develop' of https://github.com/kookmin-sw/capstone-2023…
May 1, 2023
38cc0a5
cors 설정
young43 May 1, 2023
2c364f0
Merge branch 'develop' of https://github.com/kookmin-sw/capstone-2023…
May 1, 2023
5f53b27
cors 설정
young43 May 1, 2023
f1fe409
Merge branch 'develop' of https://github.com/kookmin-sw/capstone-2023…
May 1, 2023
817dda5
requirements 수정
May 1, 2023
a976fa5
feat. 추천 여행지 api 요청
Ziihong May 1, 2023
3f43d7b
feat. 여행지 정보 불러오기 api
Ziihong May 1, 2023
049fe6d
refactor. 추천 여행지 대표 이미지 불러오기 수정
Ziihong May 1, 2023
1942d24
feat. 여행지 정보 api 요청 후 화면 설정
Ziihong May 2, 2023
ebfbb19
feat. 사용자 취향 설정 db 저장
Ziihong May 2, 2023
8c15119
fix. 사용자 취향 저장 api 중복 에러 해결
Ziihong May 2, 2023
e25aa64
style. floating button 수정
sanglim00 May 2, 2023
83a424d
Merge pull request #42 from kookmin-sw/feat/api-call
Ziihong May 2, 2023
b8fd60b
Merge branch 'develop' into feat/taste
sanglim00 May 2, 2023
9d2a8b5
feat. 기록 페이지 여행지 이미지 설정
Ziihong May 3, 2023
5bbee18
feat. 기록 페이지 저장 api 연결
Ziihong May 4, 2023
bc2f54a
Merge pull request #43 from kookmin-sw/feat/api-call
Ziihong May 4, 2023
2c873f7
Merge pull request #44 from kookmin-sw/feat/taste
sanglim00 May 4, 2023
3802d48
fix. 날짜 데이터 string 변환
Ziihong May 4, 2023
378f9c7
feat. 여행지 선택 드롭다운 박스 생성
Ziihong May 5, 2023
1d43c39
feat. 여행지 목록 api 호출
Ziihong May 6, 2023
7e3045b
fix. home 화면 추천 여행지 소개글 변경
Ziihong May 6, 2023
382cd6e
fix. 로딩 이미지 변경
Ziihong May 6, 2023
5c74865
feat. 게시글 작성 버튼 추가 및 게시글 작성페이지 제작 (백엔드 연동 필요)
sanglim00 May 8, 2023
a9fd7de
feat. 여행관련 정보를 위한 페이지 제작 (알림 기능 변경)
sanglim00 May 8, 2023
739ec1b
Merge pull request #49 from kookmin-sw/feat/board
sanglim00 May 8, 2023
1692903
Merge branch 'develop' into style/footer
sanglim00 May 8, 2023
59a01f3
Merge pull request #50 from kookmin-sw/style/footer
sanglim00 May 8, 2023
833fee2
ing. 취향정보 저장 기능 구현중 (취향 중복저장 구현필요)
sanglim00 May 8, 2023
dedb73e
동행인 모듈 개발
young43 May 9, 2023
4c18d92
/dm/companion api 모듈 개발 및 사진값 리턴수정
young43 May 9, 2023
6c271e1
Merge pull request #51 from kookmin-sw/data
young43 May 9, 2023
3c8c590
feat. 추천 동행인 api 호출 및 화면 그리기
Ziihong May 10, 2023
e5fa363
fix. detail 페이지 로딩 이미지 변경
Ziihong May 10, 2023
8a6e3e3
feat. 마이페이지 정보 가져오기 api 구현
Ziihong May 10, 2023
8b02754
feat. 마이페이지 api 요청 후 화면 설정
Ziihong May 10, 2023
61720b8
feat. 여행 기록 가져오기 api
Ziihong May 10, 2023
d8379cd
feat. 사용자 여행 기록 가져오는 api 호출 후 화면 설정
Ziihong May 10, 2023
f49ab9d
fix. 여행 기록 가져오기 api sql문 수정 및 화면 설정
Ziihong May 10, 2023
b54b53c
refactor: 불필요한 코드 제거
Ziihong May 10, 2023
813cc1a
Merge pull request #53 from kookmin-sw/feat/api-call
Ziihong May 10, 2023
e0b904b
fix. 여행지 선택 시, 해당 이미지 바로 노출되도록 수정
Ziihong May 10, 2023
73986f7
fix. 디자인 수정
Ziihong May 10, 2023
de5c8af
fix. 기록 저장시 화면 리렌더링
Ziihong May 10, 2023
7152c86
Merge pull request #54 from kookmin-sw/feat/api-call
Ziihong May 10, 2023
943dcc0
Merge branch 'develop' into feat/taste
sanglim00 May 11, 2023
99f9081
ing. 취향정보 저장 진행 중
sanglim00 May 11, 2023
b35465a
Merge pull request #55 from kookmin-sw/feat/taste
sanglim00 May 11, 2023
39a90f5
feat. 댓글 기능 구현 (UI 수정 필요)
sanglim00 May 11, 2023
9b3988c
Merge pull request #56 from kookmin-sw/feat/board
sanglim00 May 11, 2023
9c09e94
fix. 기록 리스트에서 이미지 노출
Ziihong May 12, 2023
1862cbf
Merge pull request #57 from kookmin-sw/feat/api-call
Ziihong May 12, 2023
2ddad05
db. 사용자 별점정보 조회 쿼리문 수정
SeoYoungYun May 12, 2023
04969de
feat. 상태관리 라이브러리 recoil 설치 및 적용
sanglim00 May 12, 2023
546135d
Merge pull request #58 from kookmin-sw/recoil
sanglim00 May 12, 2023
9c13afc
dm. pandas 연계로 수정
SeoYoungYun May 12, 2023
82402ab
dm. predict_ratings 함수 개발
SeoYoungYun May 12, 2023
17153d9
fix. 사용자 취향 저장시 데이터 변환
Ziihong May 12, 2023
8418a0d
fix. 취향 저장 sql문 수정
Ziihong May 12, 2023
ebaad81
feat. 취향 설정 모달 수정 및 유저 동적 추가기능 구현 중
sanglim00 May 12, 2023
0722e14
Merge pull request #59 from kookmin-sw/fix/save-taste
Ziihong May 12, 2023
3fb6127
Merge branch 'develop' into feat/taste
sanglim00 May 12, 2023
cedb9c2
fix. 충돌 해결 및 alert 추가
sanglim00 May 12, 2023
9eae51e
Merge pull request #60 from kookmin-sw/feat/taste
sanglim00 May 12, 2023
af242ac
ing. user의 취향 option 직접 추가 함수 구현 중
sanglim00 May 12, 2023
9d864ea
dm. hybrid 필터링 모듈 개발
SeoYoungYun May 12, 2023
551c7f1
feat. 기록 상세 페이지 화면
Ziihong May 12, 2023
ce84da6
Merge pull request #61 from kookmin-sw/feat/record-detail
Ziihong May 12, 2023
9653c72
dm. getCountry 여행지 추천 모듈 수정완료
SeoYoungYun May 12, 2023
dc4bdf7
api. 여행지 추천모듈 반영완료
SeoYoungYun May 12, 2023
1c171fe
feat. user의 취향 option 직접 추가 함수 구현완료
sanglim00 May 12, 2023
e84d2f8
Merge branch 'develop' into feat/taste
sanglim00 May 12, 2023
aba1568
Merge pull request #62 from kookmin-sw/feat/taste
sanglim00 May 12, 2023
70f6e08
feat. 게시글 저장 api 구현
Ziihong May 12, 2023
a32126f
feat. 로그인 후 취향정보가 없는 유저를 위한 모달창 제작
sanglim00 May 12, 2023
f746bd3
feat. 게시글 저장 api 호출
Ziihong May 12, 2023
02603fd
feat. 게시글 목록 불러오기 api 구현
Ziihong May 12, 2023
2fe3028
feat. 게시글 목록 불러오는 api 호출 및 화면 설정
Ziihong May 12, 2023
c3fdd71
feat. 환율 페이지 제작 (open api 연결 필요)
sanglim00 May 12, 2023
c0bb618
feat. 게시글 상세 페이지 화면 설정
Ziihong May 12, 2023
16a36b5
style. 현재 페이지의 footer icon을 활성화 및 이미지 위치 변경
sanglim00 May 12, 2023
e52f6d1
Merge pull request #64 from kookmin-sw/feat/exchange_rate
sanglim00 May 12, 2023
5eaf01b
feat. 댓글 저장 api 구현
Ziihong May 12, 2023
5310175
fix. navigator path 수정
Ziihong May 12, 2023
ff69f71
fix. merge 오류 수정
Ziihong May 12, 2023
31cd4d2
style. 게시글 작성 및 기록 페이지의 추가 버튼 위치 수정
sanglim00 May 12, 2023
d059dde
Merge branch 'develop' into addButton
sanglim00 May 12, 2023
4e0cf73
Merge pull request #65 from kookmin-sw/addButton
sanglim00 May 12, 2023
c32727f
feat. 댓글 불러오기 api 구현
Ziihong May 12, 2023
1dd5d0c
feat. 게시판 댓글 불러오기 api 요청 후 화면 설정
Ziihong May 12, 2023
81e33cf
feat. 게시글 댓글 전송 후 화면 리렌더링
Ziihong May 12, 2023
5ad286c
fix. 게시글 업로드 시, 날짜 설정 수정
Ziihong May 12, 2023
11edef0
Merge branch 'develop' into feat/board
Ziihong May 12, 2023
fb71f1d
Merge pull request #66 from kookmin-sw/feat/board
Ziihong May 12, 2023
1d76d2f
feat. 기록페이지 빈 데이터 추가 및 버튼 추가, 삭제 기능 진행 중
sanglim00 May 12, 2023
b88c6f2
Merge branch 'develop' into board
sanglim00 May 12, 2023
027b590
fix. prettier error 해결
sanglim00 May 12, 2023
2d97a6b
Merge pull request #67 from kookmin-sw/board
sanglim00 May 12, 2023
f49714f
api. 동행인 추천 모듈 개발 수정
SeoYoungYun May 12, 2023
b1aebf4
style. 댓글기능 스타일 수정 및 글자 넘침 처리
sanglim00 May 12, 2023
8a48b03
필요없는 주석제거
SeoYoungYun May 12, 2023
9b4b998
필요없는 주석제거
SeoYoungYun May 12, 2023
0176305
Merge pull request #68 from kookmin-sw/data
young43 May 12, 2023
8ba7536
feat. userEmail 전역 변수 사용
Ziihong May 12, 2023
f0d7054
api. KeyError 에러처리
SeoYoungYun May 12, 2023
74dd9a3
Merge pull request #69 from kookmin-sw/data
young43 May 12, 2023
4b31916
feat. 게시판 검색 필터링 기능구현 완료
sanglim00 May 12, 2023
488b648
Merge branch 'develop' into feat/filtering
sanglim00 May 12, 2023
129f9a0
Merge pull request #70 from kookmin-sw/feat/filtering
sanglim00 May 12, 2023
65d7e4d
feat. 게시글 작성 사용자 정보 가져오기 api 구현 및 화면 설정
Ziihong May 13, 2023
b298558
Merge pull request #71 from kookmin-sw/feat/recoil
Ziihong May 13, 2023
14f3b6a
파비콘 설정 및 피쳐이미지 설정
sanglim00 May 16, 2023
041ebd8
Merge pull request #74 from kookmin-sw/feat/service
sanglim00 May 16, 2023
f4b2923
fix. 여행 경비 숫자 정규식 추가
Ziihong May 17, 2023
17bf978
fix. 여행 경비 정규식 수정
Ziihong May 17, 2023
79da4e9
Merge pull request #75 from kookmin-sw/fix/axios-custom
Ziihong May 18, 2023
5ba6acd
feat. 여행 기록 삭제 api 호출
Ziihong May 18, 2023
2b7d829
feat. 여행 기록 삭제 api 구현
Ziihong May 18, 2023
6317349
style. 미디어쿼리 적용 및 커서포인터 적용
sanglim00 May 18, 2023
001fedf
Merge pull request #76 from kookmin-sw/style/css
sanglim00 May 18, 2023
717439e
fix. 기록 삭제 후 화면 리렌더링
Ziihong May 18, 2023
c07a342
fix. user email recoil 설정
Ziihong May 18, 2023
a33aa57
feat. 한국 수출입 은행 open API를 활용한 환율 정보 노출 기능구현
sanglim00 May 18, 2023
e791fff
Merge pull request #77 from kookmin-sw/feat/openAPI
sanglim00 May 18, 2023
81b9240
fix. 사용자 취향 정보 없을 때 예외처리
Ziihong May 18, 2023
7b23f44
fix. 취향 설정 페이지 recoil 설정
Ziihong May 18, 2023
24b8907
Merge pull request #78 from kookmin-sw/feat/del-record
Ziihong May 18, 2023
a2fd79d
feat. user login token 을 recoil로 관리하며 localStorage에 저장 기능 구현
sanglim00 May 18, 2023
0c133ae
Merge pull request #79 from kookmin-sw/feat/token
sanglim00 May 18, 2023
4e7721c
feat. axios baseURL 설정
Ziihong May 18, 2023
4ea500d
refactor. 불필요한 코드 제거 및 수정
Ziihong May 18, 2023
25f2c3e
refactor. useCallback으로 함수 재사용
Ziihong May 18, 2023
9d6059d
fix. useEffect hooks 수정
Ziihong May 18, 2023
c256dad
fix. 게시글 저장시, 사용자 nickname 사용하도록 수정
Ziihong May 18, 2023
8f0717a
fix. 사용자 나이 노출시 예외처리
Ziihong May 18, 2023
1b63e0f
feat. base64 blob 데이터 변환 함수 생성 및 불필요한 코드 제거
Ziihong May 18, 2023
48877ad
Merge branch 'develop' into feat/del-record
Ziihong May 18, 2023
64621b1
Merge pull request #80 from kookmin-sw/feat/del-record
Ziihong May 18, 2023
4116325
fix. navigate 주석 처리 해제
sanglim00 May 19, 2023
31ad3c9
fix. 회원가입시, 이미지 저장 수정
Ziihong May 19, 2023
cad3b91
feat. 로그아웃 기능 연결
sanglim00 May 19, 2023
fb5fe69
Merge pull request #81 from kookmin-sw/feat/openAPI
sanglim00 May 19, 2023
50eb7f9
dm. country_name 받아오는 것으로 수정
SeoYoungYun May 19, 2023
30a037d
fix. cityId 렌더링 수정
Ziihong May 19, 2023
87d8fbd
fix. 로그아웃 시 localStorage에 저장된 데이터 삭제 기능 추가
sanglim00 May 19, 2023
4939fce
Merge branch 'develop' into feat/openAPI
sanglim00 May 19, 2023
308eacc
Merge pull request #82 from kookmin-sw/feat/del-record
Ziihong May 19, 2023
88a0c26
Merge pull request #83 from kookmin-sw/feat/openAPI
sanglim00 May 19, 2023
4796d54
dm. 혼성, 동성 선택안해도 append 추가
SeoYoungYun May 19, 2023
836a538
Merge pull request #84 from kookmin-sw/data
young43 May 19, 2023
bbcab7b
fix. 새로고침 시 유저 로그인 풀리는 문제 해결
sanglim00 May 19, 2023
148bf70
Merge branch 'develop' into feat/openAPI
sanglim00 May 19, 2023
afa79c3
Merge pull request #85 from kookmin-sw/feat/openAPI
sanglim00 May 19, 2023
51aae1c
fix. getUserInfo sql문 수정
Ziihong May 19, 2023
6976aa5
Merge pull request #86 from kookmin-sw/feat/del-record
Ziihong May 19, 2023
686813b
link. 취향설정 후 링크 이동 수정
sanglim00 May 19, 2023
e94e147
style. 취향 정보 없을 시 메세지 노출 및 취향설정페이지 연결
sanglim00 May 19, 2023
49b571d
fix. 게시글 없을 시 메세지를 검색조건 게시글 메세지와 구분
sanglim00 May 19, 2023
a5a1054
style. 회원가입 비밀번호 일치 확인 span의 css 수정
sanglim00 May 19, 2023
4998743
feat. 취향정보가 완성되지 않은 유저에게 모달창 노출 기능설정
sanglim00 May 19, 2023
1617170
Merge pull request #88 from kookmin-sw/feat/link
sanglim00 May 19, 2023
0184265
fix. 현재 날짜정보 노출 기능
sanglim00 May 19, 2023
3f30f62
style. 서비스 폰트 전체 적용
sanglim00 May 20, 2023
1bc95b8
Merge pull request #90 from kookmin-sw/style/font
sanglim00 May 20, 2023
144eeac
fix. board 게시글 노출되지 않던 오류 수정
sanglim00 May 20, 2023
3fda55b
style. 폰트 수정
sanglim00 May 20, 2023
a9a634e
fix. 게시글 사용자 이미지 노출
Ziihong May 20, 2023
ca2fe16
fix. 댓글 사용자 이미지 노출
Ziihong May 20, 2023
74256ed
fix. 마이페이지 사용자 이미지 노출
Ziihong May 20, 2023
49d2cc6
fix. 사용자 생년월일 date 타입으로 저장
Ziihong May 21, 2023
1f85aa0
Merge branch 'develop' into fix/signup-img
Ziihong May 21, 2023
b1f9e6c
Merge pull request #91 from kookmin-sw/fix/signup-img
Ziihong May 21, 2023
b86057d
style. overflow시 가려지는 부분 수정
sanglim00 May 21, 2023
62c9f6c
nginx server config upload
SeoYoungYun May 21, 2023
e56d6fe
Merge pull request #92 from kookmin-sw/nginx
young43 May 21, 2023
06e673f
gitignore 수정
SeoYoungYun May 21, 2023
5665a5f
fix. record 삭제 시에 모달창 노출로 삭제 플로우 추가
sanglim00 May 21, 2023
297d5d9
style. overflow시 글자 넘침 처리
sanglim00 May 21, 2023
21bf6d8
Merge branch 'develop' into style/css
sanglim00 May 21, 2023
ac6be40
Merge pull request #93 from kookmin-sw/style/css
sanglim00 May 21, 2023
8464584
fix. 사용자 나이 노출 데이터 변환
Ziihong May 21, 2023
9d3637d
fix. 댓글 작성시 사용자 닉네임 노출
Ziihong May 21, 2023
a38aa86
feat. 사용자 기본 프로필 설정
Ziihong May 21, 2023
a8960f1
Merge branch 'develop' into test/video
Ziihong May 21, 2023
870c758
Merge pull request #94 from kookmin-sw/test/video
Ziihong May 21, 2023
0263d48
style. scroll bar 가리기
sanglim00 May 21, 2023
d7e118d
feat. 동행인 추천 시 동행인 디테일 info 모달 노출 기능구현
sanglim00 May 21, 2023
8eb62a2
style. cursor pointer 수정
sanglim00 May 21, 2023
def45af
Merge pull request #95 from kookmin-sw/style/css
sanglim00 May 21, 2023
e6ee48a
style. text overflow 수정
sanglim00 May 21, 2023
a017bf0
fix. 사용자 나이 노출 수정
Ziihong May 21, 2023
7bacd04
중간보고서 업로드
SeoYoungYun May 21, 2023
a9c85d0
포스터 업로드
SeoYoungYun May 21, 2023
1ac9355
Merge pull request #96 from kookmin-sw/docs
young43 May 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions DM/app.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from flask import Flask, jsonify, request
from flask_restx import Resource, Api, reqparse

import numpy as np
from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer, TfidfVectorizer
from sklearn.metrics.pairwise import linear_kernel, cosine_similarity
from collections import Counter


from database import Database

app = Flask(__name__)
api = Api(app)
app.config['DEBUG'] = True
np.set_printoptions(threshold=np.inf, linewidth=np.inf)

@app.route('/api/country', methods=['GET'])
def getCountry():
_input = request.args['email']

# Database 접속 -> 크롤링 요약 데이터 가져오기
db = Database()
res = db.select('''
select c.id, c.name, cd.contents
from country_data as cd, country as c
where cd.id=c.id
order by 1;
''')

country_word_list = []
country_cnt = Counter([])
country_name = []
# ID, NAME, CONTENTS
for row in res:
country_name.append(row[1])
crawl_data = eval(row[2])
country_cnt += crawl_data

# '호텔': 665 -> 호텔 665번 나오게 됨
word_list = list(Counter(crawl_data).elements())
country_word_list.append(" ".join(word_list))

country_name = np.array(country_name)

vectorizer = TfidfVectorizer() # 상위 500단어 추출
tfidf_matrix = vectorizer.fit_transform(country_word_list)

cosine_sim = linear_kernel(tfidf_matrix, tfidf_matrix)
cosine_sim = np.array(cosine_sim)

# 사용자 별점정보 조회
user_info = dict() # 이메일과 index 매칭
user_data = dict()
res = db.select('''
select user_id, country_id, rating
from member_rating
order by 1, 2;
''')

# 'seo5220@naver.com': [0, 0, 0, 0, 0, 0, 0, 0, 0,
for item in res:
index = item[0]
i_country = int(item[1])
i_rating = int(item[2])
if index not in user_data:
user_data[index] = np.array([0 for cn in country_name])
user_data[index][i_country] = i_rating
# print(user_data)

# 행=유저수, 열=Country수
user_ratings = np.zeros((len(user_data.keys()), len(country_name)))
for idx, key in enumerate(user_data.keys()):
user_ratings[idx] = user_data[key]
# user_info는 이메일<->index값
user_info[idx] = key
user_info[key] = idx
# print(user_info)

travel_cosim = cosine_similarity(user_ratings, cosine_sim)
_index = user_info[_input]
# 본인이 갔다왔던 여행지는 제외
except_index = np.where(user_data[_input] > 0)
travel_cosim[_index][except_index] = 0

score_indics = np.argsort(travel_cosim[_index])[::-1]
output = country_name[score_indics][:10]

db.close()

return jsonify({
'result': list(output)
})

if __name__ == '__main__':
app.run(host='0.0.0.0')
19 changes: 10 additions & 9 deletions DM/crawling.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 네이버 검색 API 예제 - 블로그 검색
import os,sys
import requests
Expand Down Expand Up @@ -64,19 +66,18 @@ def text_scraping(url):
# 진행된 정보 가져오기 (파일명 제일 앞에있는 번호를 기준)
last_index = 0
crawl_dir = './blog_data'
file_list = os.listdir('./blog_data')

if len(file_list) > 0:
last_index = sorted(file_list, key=lambda x: int(x.split('_')[0]), reverse=True)[0].split('_')[0]
last_index = int(last_index)
print(f"{last_index}_{country_list[last_index]} 까지 진행했음")
print('='*50)
# file_list = os.listdir('./blog_data')
# if len(file_list) > 0:
# last_index = sorted(file_list, key=lambda x: int(x.split('_')[0]), reverse=True)[0].split('_')[0]
# last_index = int(last_index)
# print(f"{last_index}_{country_list[last_index]} 까지 진행했음")
# print('='*50)
# print(f"Last Index : {last_index}")


for idx, country in enumerate(country_list):
if last_index > 0 and idx <= last_index: continue
print(f"=============== {idx}_{country} 진행중 ===============")
# if last_index > 0 and idx <= last_index: continue
# print(f"=============== {idx}_{country} 진행중 ===============")

review_list = []
# 네이버 검색 API는 최대 100개까지 밖에 볼 수 없기때문에 for문을 돌려서 총 1000개의 블로그를 조회
Expand Down
22 changes: 14 additions & 8 deletions DM/csv_to_db.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import re #추가
from dotenv import load_dotenv
Expand All @@ -7,7 +9,7 @@

from konlpy.tag import Komoran, Okt, Mecab
from database import Database

import platform


#데이터 전처리 함수
Expand All @@ -22,7 +24,10 @@ def preprocessing(review):

# Mecab 설치 (Komoran보다 훨씬 빠름)
# https://velog.io/@jyong0719/konlpy-mecab-%EC%84%A4%EC%B9%98-window
mecab = Mecab(dicpath=os.environ.get('MECAB_DIR'))
if platform.system() == "Linux":
mecab = Mecab()
else:
mecab = Mecab(dicpath=os.environ.get('MECAB_DIR'))
word_review = mecab.nouns(review_text)

#불용어 제거하기
Expand All @@ -40,7 +45,7 @@ def preprocessing(review):
if __name__ == "__main__":
# load .env
load_dotenv()
os.environ['JAVA_HOME'] = os.environ.get('JAVA_HOME')
# os.environ['JAVA_HOME'] = os.environ.get('JAVA_HOME')

# ./blog_data/ 폴더 밑에 있는 크롤링 csv파일 로드
crawl_path = './blog_data/'
Expand All @@ -67,16 +72,17 @@ def preprocessing(review):
final_word_list = preprocessing(content)
word_set.extend(final_word_list)
except Exception as e:
# print(e)
pass
if str(e).find('expected string or bytes-like object') != -1:
continue
print(e)


wc = dict(Counter(word_set).most_common())

wc = dict(filter(lambda x:x[1] > 10, wc.items())) # 10번 이상 들어간 값만 추출
print(wc)
print(f"{country_id}_{country_name} : LENGTH={len(str(wc))}")
print("="*50)
# print(wc)
# print(f"{country_id}_{country_name} : LENGTH={len(str(wc))}")
# print("="*50)


# Database 데이터 insert (값이 있으면 UPDATE)
Expand Down
5 changes: 4 additions & 1 deletion DM/database.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import pymysql
from dotenv import load_dotenv
Expand All @@ -9,7 +12,7 @@ def __init__(self):
host=os.environ.get('DB_IP'),
user=os.environ.get('DB_USER'),
password=os.environ.get('DB_PASSWD'),
db='capstone',
db=os.environ.get('DB_NAME'),
# charset='utf-8'
)
self.cur = self.conn.cursor()
Expand Down
42 changes: 42 additions & 0 deletions DM/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
aniso8601==9.0.1
asn1crypto==0.24.0
attrs==22.2.0
beautifulsoup4==4.12.0
click==8.0.4
cryptography==2.1.4
dataclasses==0.8
Flask==2.0.3
flask-restx==1.1.0
idna==2.6
importlib-metadata==4.8.3
itsdangerous==2.0.1
Jinja2==3.0.3
joblib==1.1.1
JPype1==1.3.0
JPype1-py3==0.5.5.4
jsonschema==4.0.0
keyring==10.6.0
keyrings.alt==3.0
konlpy==0.6.0
lxml==4.9.2
MarkupSafe==2.0.1
mecab-python===0.996-ko-0.9.2
numpy==1.19.5
pandas==1.1.5
pycrypto==2.6.1
pygobject==3.26.1
PyMySQL==1.0.2
pyrsistent==0.18.0
python-dateutil==2.8.2
python-dotenv==0.20.0
pytz==2023.3
pyxdg==0.25
scikit-learn==0.24.2
scipy==1.5.4
SecretStorage==2.3.1
six==1.16.0
soupsieve==2.3.2.post1
threadpoolctl==3.1.0
typing-extensions==4.1.1
Werkzeug==2.0.3
zipp==3.6.0
83 changes: 60 additions & 23 deletions DM/vectorization.py
Original file line number Diff line number Diff line change
@@ -1,53 +1,90 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import math
import numpy as np
import pandas as pd

from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer, TfidfVectorizer
from sklearn.metrics.pairwise import linear_kernel
from sklearn.metrics.pairwise import linear_kernel, cosine_similarity
from collections import Counter

from database import Database


np.set_printoptions(threshold=np.inf, linewidth=np.inf)

def get_tfidf(data):
# 모든 문서의 단어 집합 만들기
vocabulary = set([d.keys() for d in data])
print(vocabulary)



if __name__ == "__main__":
# Database 접속 -> 크롤링 요약 데이터 가져오기
db = Database()
res = db.select('select id,contents from country_data order by 1;')
res = db.select('''
select c.id, c.name, cd.contents
from country_data as cd, country as c
where cd.id=c.id
order by 1;
''')

country_word_list = []
country_cnt = Counter([])
country_name = []
# ID, NAME, CONTENTS
for row in res:
crawl_data = eval(row[1])
country_name.append(row[1])
crawl_data = eval(row[2])
country_cnt += crawl_data

# '호텔': 665 -> 호텔 665번 나오게 됨
word_list = list(Counter(crawl_data).elements())
country_word_list.append(" ".join(word_list))
db.close()

# print(country_word_list[0])

vectorizer = TfidfVectorizer(max_features=500) # 상위 500단어 추출
tfidf_matrix = vectorizer.fit_transform(country_word_list)
country_name = np.array(country_name)

# print(tfidf_matrix.toarray())
# print()
# print(tfidf_matrix.shape)
vectorizer = TfidfVectorizer() # 상위 500단어 추출
tfidf_matrix = vectorizer.fit_transform(country_word_list)

cosine_sim = linear_kernel(tfidf_matrix, tfidf_matrix)
print(cosine_sim)

df = pd.DataFrame(cosine_sim)

df.to_csv('sample.csv', index=False)



cosine_sim = np.array(cosine_sim)

# 사용자 별점정보 조회
user_info = dict() # 이메일과 index 매칭
user_data = dict()
res = db.select('''
select user_id, country_id, rating
from member_rating
order by 1, 2;
''')

# 'seo5220@naver.com': [0, 0, 0, 0, 0, 0, 0, 0, 0,
for item in res:
index = item[0]
i_country = int(item[1])
i_rating = int(item[2])
if index not in user_data:
user_data[index] = np.array([0 for cn in country_name])
user_data[index][i_country] = i_rating
# print(user_data)

# 행=유저수, 열=Country수
user_ratings = np.zeros((len(user_data.keys()), len(country_name)))
for idx, key in enumerate(user_data.keys()):
user_ratings[idx] = user_data[key]
# user_info는 이메일<->index값
user_info[idx] = key
user_info[key] = idx
# print(user_info)

travel_cosim = cosine_similarity(user_ratings, cosine_sim)
_input = 'wlghddl9@naver.com'
_index = user_info[_input]
# 본인이 갔다왔던 여행지는 제외
except_index = np.where(user_data[_input] > 0)
travel_cosim[_index][except_index] = 0

score_indics = np.argsort(travel_cosim[_index])[::-1]
print(f"{country_name[score_indics]}")



db.close()
21 changes: 21 additions & 0 deletions backend/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"plugins": ["prettier"],
"extends": ["eslint:recommended", "plugin:prettier/recommended"],
"parserOptions": {
"ecmaVersion": 7,
"sourceType": "script",
"ecmaFeatures": {
"jsx": false
}
},
"parser": "@babel/eslint-parser",
"env": {
"browser": false,
"node": true
},
"ignorePatterns": ["node_modules/"],

"rules": {
"prettier/prettier": "error"
}
}
4 changes: 3 additions & 1 deletion backend/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,6 @@ logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
yarn-error.log*

.env
Loading