잃어버린 우리 댕냥이
하루종일 보호소 공고 확인하셨다구요?
보호소에서 찾는건 구해줘 댕냥쓰에게 맡겨주세요!🔍
잃어버린 위치 주변에서 찾은 댕냥이들을 알려줄게요🦾
- 유기동물보호소에 새로운 구조 여부 알림 서비스 (반려동물을 잃어버린 위치의 주변에 있는 보호소에서 새로운 구조가 있다면 주인에게 알림을 보내드립니다.)
- 반려동물을 잃어버린 주인이 사용자입니다.
-
반려동물을 잃어버린 사람이 실시간으로 보호소 구조 공고를 확인하는 번거로움
(입소 후 10일이 지나면 안락사를 진행합니다.)
-> SMS 알림 서비스 -
거주 지역 보호소만 확인하느라 다른 지역 주변 보호소 구조 공고를 놓치는 경우
(중형견 같은 경우 하루 만에 옆 도시로 넘어갈 수 있습니다.)
-> 위치 기반 (반경 N km 내 보호소 새롭게 구조된 내역 알림)
- 안타깝게 안락사 당하는 반려동물을 줄일 수 있습니다.
- 주인이 반려동물 찾기 위한 다른 일에 집중할 수 있습니다.
- 분실 데이터가 많이 올라온다면 추후 맹견 알림 서비스를 하여 개물림 사고를 예방할 수 있습니다.
- 비슷한 서비스로 포인핸드가 있습니다. 포인핸드는 단순히 사용자가 선택한 관할지역 기준 보호소 구조 공고만 제공합니다.
- 우리 서비스에서는 반경 Nkm 위치 기반으로 관할지역과 상관없고 알림까지 받을 수 있습니다.
- 주제 : 반려동물을 잃어버린 위치 주변의 유기동물보호소에서 새롭게 구조된 동물 여부를 문자로 주인에게 알려주는 서비스
- 메인기능 :
- 실종 장소 주변 보호소에서 새롭게 구조된 동물 여부 알림 기능
- 보호소에서 구조한 위치와 정보를 나타내는 보호소 구조 공고 지도 기능
- 실종 위치와 번호를 등록하는 실종 등록 기능
- 서브기능 :
- 로그인/회원가입
- 보호소 구조 공고 목록
- 전체 분실 목록
- 마이페이지
- 관리자 페이지
- 페이지 네이션
- 목록 지도 전환 토글 기능
- 필터 기능
- 사용자는 로그인하면 햄버거 메뉴의 분실등록으로 이동한다.
- 사용자는 분실등록에서 분실정보를 기입하고 게시글을 등록할 수 있다.
- 사용자는 분실목록에서 모든 사용자 전체 분실글을 확인할 수 있다.
- 사용자는 마이페이지에서 개인정보 수정, 본인 분실신고 리스트, 계정탈퇴를 할 수 있다.
- 사용자는 마이페이지에서 분실신고 리스트에서 분실 게시글 상세를 확인하고 수정 할 수 있다.
- 사용자는 메인 페이지 및 햄버거메뉴 구조리스트에서 보호소에서 올라온 공고들을 확인할 수 있다.
- 사용자는 메인 페이지 및 햄버거메뉴 구조리스트에서 보호소에서 올라온 공고들을 종별로 필터링 할 수 있다.
- 사용자는 메인 페이지 지도보기 버튼 토글 및 햄버거메뉴 구조지도에서 보호소에서 지도 페이지로 전환 할 수 있다.
- 관리자는 관라자페이지에서 회원정보관리, 분실신고 리스트 확인을 할 수있다.
- 관리자는 회원정보 관리에서 회원을 삭제할 수 있다.
- 관리자는 분실 신고 리스트에서 분실신고를 삭제할 수 있다.
![mainPage](https://private-user-images.githubusercontent.com/70076564/262589135-6ed2cbb0-8a89-4ad7-8a55-72001d809ac1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1ODkxMzUtNmVkMmNiYjAtOGE4OS00YWQ3LThhNTUtNzIwMDFkODA5YWMxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ4MGQ3NWMzOGU1NGExYmRjYjJmY2E1NGY1NWY1YWY4MzEyMTczNDI4MmExN2I0NGMwN2ZmOWEwMTY2MmJmZTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.3foA5cRCWoQlV7g17O48__cTrLXsvviiFWIL1KYtm7Q)
1.1 사용자가 선택한 개수씩 목록 보기
1.2 페이지네이션 적용
1.3 동물 종류에 따른 카테고리 기능
1.4 구조 목록-구조 지도 전환 토글 버튼
1.5 반응형 페이지 디자인
![register](https://private-user-images.githubusercontent.com/70076564/262589447-13f8d1c3-0948-4468-a671-e24688377752.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1ODk0NDctMTNmOGQxYzMtMDk0OC00NDY4LWE2NzEtZTI0Njg4Mzc3NzUyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBlNjExOTk1Mzg0MzQ5YTA5MzFiYzE4M2IxYTA0OTNiNGE1ZTQxYjk5NTgwYjdiYWUxZjc1MGJiZjg0YTRlYWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.ZY9bTclqXNCnPaHooUgF0qoY68KDXdLgJjXjOvXPmG4)
![login](https://private-user-images.githubusercontent.com/70076564/262589604-9aa8e3a9-5ed8-4ff2-84e3-46e5d8b96812.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1ODk2MDQtOWFhOGUzYTktNWVkOC00ZmYyLTg0ZTMtNDZlNWQ4Yjk2ODEyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY1YzE0MWM3NTRiMjNmNzVjMmY0OTgxNDc1YzhjMmY5NWMxZTQ4Nzc5Nzg5ZmI0NjEyZGY5MzZkZmY0ZDE2MjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Hbner4Yh3u1U02AEk6lf4c4WkXJI6Bc2BZXUYy0Qr2Q)
2.1 아이디, 비밀번호, 전화번호 유효성 검증
2.2 관리자계정 별도 관리
—> 로그인한 계정에 따라 마이페이지 연결시 일반회원>마이페이지 관리자>관리자페이지 연결
![myPage](https://private-user-images.githubusercontent.com/70076564/262589749-a653a39a-8e6a-4058-9851-1ca572eaf892.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1ODk3NDktYTY1M2EzOWEtOGU2YS00MDU4LTk4NTEtMWNhNTcyZWFmODkyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE2NjYyYjQyZDZlOTExZjg2NzAyNTdlNDJjMjY2NWY2YWJiMjJkZGFlNTYwYjFhZGQ1YjA1NjA5OWNhNTNjZjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.uUPUSYAqJwgFlxnDt2NME7Z7noWDi8ZRfmaUke2bYGo)
3.1 회원정보 수정 유효성 검증
3.2 본인이 등록한 분실 신고목록 상태변경, 삭제, 상세보기 가능
3.3 계정 탈퇴 가능
—> 비밀번호 일치여부에 따라 계정 삭제 가능
![before1](https://private-user-images.githubusercontent.com/70076564/262589794-c2de87fe-5c3f-489c-be35-367e230a5840.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1ODk3OTQtYzJkZTg3ZmUtNWMzZi00ODljLWJlMzUtMzY3ZTIzMGE1ODQwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE5OGVjOTFiMjI4OWI5MzA3NzU3NWY4MGFkZTg5MDQ3M2EwM2JmNWM4NjYxMDAwOTBiODdkZGNjMDM4NGY1NjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.RGKqSarhoc54rFpGGeq6Ug-foHmt1GH14k5J9ZrICLA)
3.1 모든 회원정보 확인 가능
3.2 신고된 분실목록 전체 조회 가능
![posting lost](https://private-user-images.githubusercontent.com/70076564/262589991-9c6c401b-becd-4f65-822d-f2ed78a793ef.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1ODk5OTEtOWM2YzQwMWItYmVjZC00ZjY1LTgyMmQtZjJlZDc4YTc5M2VmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU5YmQ2OGQ3YTRhYmFlY2EyMmUzMDRiZGNmZWUzMzJiOTdkMTI2ZDA1Y2RlODg2ZDZjM2ZkN2RkYzUxNWYwNmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.lAzWeRR9UQY5ueSqOHmRM1wQ12r1LQ2KztafViVOUS8)
4.1 카카오 지도를 이용하여 분실 위치 받기
4.2 위,경도로 받은 분실 위치를 주소로 변환하여 사용자에게 나타내기
4.3 사진 서버에 저장
4.4 분실 등록 삭제
4.5 분실 등록 수정
![lost list](https://private-user-images.githubusercontent.com/70076564/262590051-7ff919ca-e60b-405a-8629-60c4db6f932e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1OTAwNTEtN2ZmOTE5Y2EtZTYwYi00MDVhLTg2MjktNjBjNGRiNmY5MzJlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQwM2E5MjE0MGY2Y2FiMzU2MWE5ZWI2MTdiOTZkODA1Y2JlYTVmYTViODA1NmFkN2MyMGRhZTRjZWY4NTg3YzEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0._py-k6BZjkgOwYVKSglZdRF4SbeNg-6S0B9ox2XzcyQ)
![before1](https://private-user-images.githubusercontent.com/70076564/262590203-b25a7a3f-a3dc-48a8-9a8a-0fa5576c3f45.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1OTAyMDMtYjI1YTdhM2YtYTNkYy00OGE4LTlhOGEtMGZhNTU3NmMzZjQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJlYmFiYzRjNWMwMzI5NDE5MjU1YjYyYTcyMGM4NjQ3Y2E0NTg1NjU0ZmViZGYyYTliMWRjODg3ZWZjZGM5YzgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.pcBd4sE88V-TXIsVVwH6I-2VxsuPviGc7jSh7X7jJAI)
7.1 현재 위치 기준으로 주변의 구조된 동물 발견 위치 맵핑(카카오 map api 사용)
7.2 info window로 구조 사진 및 간단한 정보 표시
7.3 핀 위에 마우스 오버 시 포커스 이동
7.4 핀 클릭 시 해당 구조 상세페이지로 이동
![shelter list](https://private-user-images.githubusercontent.com/70076564/262590335-92ea1f9e-c693-4a1a-af51-c3c7b30e3c4b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1OTAzMzUtOTJlYTFmOWUtYzY5My00YTFhLWFmNTEtYzNjN2IzMGUzYzRiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNiNDM4ZjI4ODUxNmU1NDc0NTRhNWNlYWExNDhmZDIxZGEzNzA0ZDJmZmQ2ZTQ0ZTkwNGJhYmU0OTA2ZGE2YmYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.BbFEasPPUGbVVTbzAOq4Udb4T5ONiAp7rxU5BSsBy8I)
![shelter rescued list](https://private-user-images.githubusercontent.com/70076564/262590378-0cf701f0-3ddd-40dc-b2da-4c1c6cd481a5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1OTAzNzgtMGNmNzAxZjAtM2RkZC00MGRjLWIyZGEtNGMxYzZjZDQ4MWE1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYzZTlmMjM1YWJmYjM2ZjVmYzI1YzliYTY0NmZlNTA3M2YwZjA3YzRjZjdhYmJlYjMxN2M4NDAyZmNkNDc0OTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.GHJatyookJWfAoYf0CMJZsqqH6IUVkHk8_uwLLH4sqw)
8.1 보호소 목록을 통해 보호소별 구조 동물 탐색 가능
9.1 localStorage에 token 저장하여 로그인 시 nav바 메뉴 변경
9.2 sticky header와 hamburger menu 적용
9.2 근처에 구조된 새로운 내역이 있다면 SMS으로 알림 표시 (twilio 사용)
9.3 데이터 파이프라인 실시간 현황 페이지
![data pipeline](https://private-user-images.githubusercontent.com/70076564/262590559-b6b7d260-4f66-47e6-896a-38d12f75421b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1OTA1NTktYjZiN2QyNjAtNGY2Ni00N2U2LTg5NmEtMzhkMTJmNzU0MjFiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM2MTBjNDFiYzk2NmRhOTliYTZmOTM1NDFlMWNhZTc1ZDQyNmQ5NWEzMTFiOTZlYzRmMDQ3NjU4OTQ1YzNjMWYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.QeFEzgD4Cfa-YMcN1AdgweWCCnlZlw_HcvRJUl_6B20)
![data pipeline](https://private-user-images.githubusercontent.com/70076564/262590657-c7ce35d9-e9ca-4706-acac-1ed9241d493e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1OTA2NTctYzdjZTM1ZDktZTljYS00NzA2LWFjYWMtMWVkOTI0MWQ0OTNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY1MmQxYTQ4NzI5MDk3ZDk2ZWJkNDViMzE3ZDA2ZWQ1NGU1YzI5NTI3ZmMwZmYyODhjYTczMThmODNmNmVlOGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.55MhSx8ytupXv2KF98BU27ywJCZLQxo_OjdSuFOS640)
![text message](https://private-user-images.githubusercontent.com/70076564/262590821-eb524189-8573-4092-ba3d-0d4be7d576da.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzEwOTEsIm5iZiI6MTczOTEzMDc5MSwicGF0aCI6Ii83MDA3NjU2NC8yNjI1OTA4MjEtZWI1MjQxODktODU3My00MDkyLWJhM2QtMGQ0YmU3ZDU3NmRhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE5NTMxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZlM2UzZGRiYzNkNTk1NzAyODJmYThlNTIyZWFlZTdkYzdiNzM1MGQ5OTM4MzdjOTEzYmRiMzY1YjMyZDhiZTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.cRaxFnYwraqi9K85m0velnnQyQn4zjeoPntrtDNxkGA)
@~project-templet> npm install --global yarn
@~project-templet> npm install && yarn setup # yarn setup는 client server 각 폴더에 자동으로 패키지를 설치하는 사용자 정의 명령어입니다.
@~project-templet> yarn start
- React:
- 다급한 사용자를 위해 한페이지에서 해결할 수 있도록 (UX)
- 여러 중복되는 컴포넌트 재사용
- 가상DOM으로 사용자 상호작용이 많은 페이지 성능 향상
- CSR을 사용한 이유: 반려동물을 잃어버린 사람들이 필요에 따라 찾아와야하기 때문에 굳이 SEO를 고려하지 않아도 괜찮았다. 서버단에서 거리 계산이나 데이터 가져오기 등 부하가 많기 때문에 렌더링을 줄여서 서버에 부하를 줄여주는 게 좋아서 CSR로 구현
- Python
- 문자열 및 데이터 처리에 편리하다.
- 필요시 멀티스레드를 사용할 수 있다.
- GCP
- 무료 크레딧 이상으로 자동결제 되지 않는다.
- 필요시 bigquery나 airflow를 구축할 수 있다.
- 자동으로 특정시간 켜지고 꺼지도록 설정하는 방법을 알고 있어 크레딧을 아낄 수 있다.
- crontab
- Linux에 기본으로 있는 기본기능이라 설치하거나 설정하는 큰 번거로움이 없다.
- Airflow와 달리 상태를 확인하기 어려운데 코드 실행시 각 단계를 자동으로 html에 write 하여 웹을 통해 상태를 살펴 볼수 있도록 구축했다.
- Apach
- APM setup 이라 불릴 만큼 고전적이지만 익숙하고 기본적인 웹서버이기 때문이다.
- twillio
- 네이버 문자와 다르게 자동결제 되지 않는다.
- 무료 크레딧으로 네이버 50건에 비해 약 300건 많은 발송이 가능하다.
- 단 무료버전에서 문자를 받으려면 문자인증 과정이 필요하다.
- 공공데이터 API
- 대전지역 데이터가 더 정확하고 자세하지만 전국 데이터를 사용한 이유는 지역기반이 아닌 실종위치기반으로 서비스를 하기 위해서다. 중형견은 하루만에 몇십km를 달려 대전을 넘어간다.