- 탈까?-해커톤에 이은 프로젝트
- 출퇴근시간 내가 타려는 버스에 좌석는 몇개나 남아있을까?
- 공공데이터포털에서 버스 정보를 제공받아 실시간 도착정보와 남은 좌석개수 통계 및 예측을 제공하는 서비스입니다.
팀장 : 박성준 |
팀원 : 박수형 |
팀원 : 송해덕 |
![로그인1](https://private-user-images.githubusercontent.com/145682992/362972979-6227b47c-2bab-4b41-968c-4f8d4c29bb76.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYyOTcyOTc5LTYyMjdiNDdjLTJiYWItNGI0MS05NjhjLTRmOGQ0YzI5YmI3Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zMGVhMmNlZGM0YTQ4ODU1ODZlYzJkNDViYTMyN2ZkODM5YmEwZThmNzZiMjE5ODM3NmI1YjZkNDUyMTY5NGJiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.T2pEfPJ9wDLuw33qVKpld5q8yGLxWxiB_u-YtTOCvQw)
![로그인3](https://private-user-images.githubusercontent.com/145682992/363004812-f21e4e97-fc41-414f-9501-d69bc32a830a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMDA0ODEyLWYyMWU0ZTk3LWZjNDEtNDE0Zi05NTAxLWQ2OWJjMzJhODMwYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mZGZjMjJmNTViOTVjZWI5NzAyMDY5MzA3NzQ4MmMxZDk1Njc2MTNlZjI1ZTQ4ZjE1ODk0YmUyZTUyYTY4YTExJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.CImIT_3N5yjIdZ839f5zM40CWmIQrPwztf7DQG2F928)
![로그인4](https://private-user-images.githubusercontent.com/145682992/363008196-efd1ce4c-4eff-4456-99c6-77920421f247.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMDA4MTk2LWVmZDFjZTRjLTRlZmYtNDQ1Ni05OWM2LTc3OTIwNDIxZjI0Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mMTgyZjM3OThmNWM5Y2ZkZDRiNGVhNThhMDI1YWQ5ODg0ZmZhMWVkNGFkZjA3NWRhNzNiYjIzYTU3OGNjNDQ2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.OaecUwQY_PibDO_WKmmjJVCXNi5szCGSRaGflzP5Q-c)
- OAuth2.0과 Spring Security를 이용한 네이버 소셜로그인 제공
- 세션을 이용한 로그인 구현
- 소셜인증만 된 상태와(UNREGISTERED) 회원가입이 완료된 상태(USER)의 권한을 분리하여 소셜 인증 후 추가정보 입력 로직 구현
- 마이페이지 및 닉네임 수정 기능 제공
![버스조회1](https://private-user-images.githubusercontent.com/145682992/363021304-97f5e876-711b-4dd8-943d-dbbd7ab1d064.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMDIxMzA0LTk3ZjVlODc2LTcxMWItNGRkOC05NDNkLWRiYmQ3YWIxZDA2NC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03N2NjYWI0ZDQxNDViZjczMzZhMDQ2ZWVhMDk3N2M2NTRkMTVmMzc1M2EzOTNiNTBiZjU4OWQ2Mjg4NDM4YTc2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.1Kw7WnIYqOCSXCiqWuiNuX5bW3VQE_lLrISl22FtoX4)
![버스조회2](https://private-user-images.githubusercontent.com/145682992/363021343-237a968f-64ff-4054-92da-d340a8a611cb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMDIxMzQzLTIzN2E5NjhmLTY0ZmYtNDA1NC05MmRhLWQzNDBhOGE2MTFjYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jZTVjY2IzNmI5YjlhZTcyODEzZmNmNjI4NDYyMjYwMTBiOWQ1MzM3YzZlZWEzMDE3ZjFhZDcwODhhMzEwNTg4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.fw_hO0AazKATn_Gjg9gDDBdEZMmCkMcCMkEOFFUgGBY)
- 비로그인 상태에서 버스-정거장 정보 조회
- 실시간 버스 도착정보 제공
- 최대 2개 버스까지 도착정보 제공
- 선택한 버스에 대한 통계 및 예측 제공
- 과거 같은 요일(최대 5주전까지) 시간대별 남은 좌석 통계 제공
- 과거 통계 데이터를 바탕으로 현재 도착예정 버스의 남은좌석 예측 제공
![스크린샷 2024-08-30 오전 10 36 53](https://private-user-images.githubusercontent.com/145682992/362970752-108b9357-d85d-4e30-aa05-875e494ecfad.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYyOTcwNzUyLTEwOGI5MzU3LWQ4NWQtNGUzMC1hYTA1LTg3NWU0OTRlY2ZhZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NjA1YTk1ZmJmODc3YjNlOTJhMzJiYTAzNzFkNjFlNjk5NTYzMzFlZDhhOWY3ZWI1MGVmODEzNTVjNzRlNWE5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.yfxXlk1SaXP3Neyo7Ly7dtWzFwTK2obzQAdcmwZ1MHw)
![스크린샷 2024-08-30 오전 10 36 07](https://private-user-images.githubusercontent.com/145682992/362970767-c20055d0-60c0-4aaf-ae75-f3270db8eda4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYyOTcwNzY3LWMyMDA1NWQwLTYwYzAtNGFhZi1hZTc1LWYzMjcwZGI4ZWRhNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kNDM5YTZiZTViZTYxMTMyNjEyMDg0NTU3NDE1M2NiYTc1YjAyYjVmZTliMWRhNTI5YmVkMDM1NWQ2NWU5MDkyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.vddMYCdY3xjiKq4qPLfihyxxIRJYaRORPdKeSUkhIno)
![스크린샷 2024-08-30 오전 10 37 53](https://private-user-images.githubusercontent.com/145682992/362970874-8c4ad87b-a301-4189-aa8d-739d9ca67621.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYyOTcwODc0LThjNGFkODdiLWEzMDEtNDE4OS1hYThkLTczOWQ5Y2E2NzYyMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNTQ4NmMzNGFmMGZmNjg3YzIzYzMxMWM2ZTNkODg3ZmMyYjVlOTM5YWIwYWQ1ZTBiZjY0MmQ4MjhjZDk1ZTk0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.cpYo2ySrLM-l4nWKDpcwi9iWbc08PPBJGgsrvL53G0U)
![스크린샷 2024-08-30 오전 10 38 57](https://private-user-images.githubusercontent.com/145682992/362971122-0fcc644e-8dea-4354-82f1-304a34e1b662.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYyOTcxMTIyLTBmY2M2NDRlLThkZWEtNDM1NC04MmYxLTMwNGEzNGUxYjY2Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05ZDVjZjg0ZDI0ZDNhOWFiODM3YjQxNTk3YTY4MjMxMzhmNmU3YmZmMTk3MjkyZmMzMTU2MzE3NWRiNzJmMTA4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.aMfthnz0m-7pZ5GwTUNwdnNl_2vaxToZ6gs3huyq5aQ)
![스크린샷 2024-08-30 오전 10 40 02](https://private-user-images.githubusercontent.com/145682992/362971461-49b4672e-cdcd-4bd9-8ca3-5133315ba890.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYyOTcxNDYxLTQ5YjQ2NzJlLWNkY2QtNGJkOS04Y2EzLTUxMzMzMTViYTg5MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05NTQ2MGJiOGJiMTYxMDM4YWRjYzY2ZmJmNWFjYzk5YzUzZTE5Y2EzYWE4OTJjNDBjZjg4MTY0ZTAzZDg2OTkyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.x4yN7_FVK5rxiBAZ1yuP0CJoaQmS0tWw7qpob1CIWNc)
![스크린샷 2024-08-30 오전 10 41 02](https://private-user-images.githubusercontent.com/145682992/362971759-1d472097-ba55-43fa-b3c1-13dc7b45766e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYyOTcxNzU5LTFkNDcyMDk3LWJhNTUtNDNmYS1iM2MxLTEzZGM3YjQ1NzY2ZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jZWZmNzg3N2QyN2RkNDVhN2JhMGM0OWY5ZGJjNTY0YTUzNzQ5NTg4MmE5YzA1MjRmMjRiM2I0ZmMzYmMyNGIyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.vltLKLe4KpL260V4ZhIOMoZs2yQddiyiZEBiWfzCfnU)
- 북마크에 여러개의 버스 등록 가능
- ex) 출근길 : 7800번, 3003번
- 실시간 버스 도착정보 제공
- 최대 2개 버스까지 도착정보 제공
- 등록된 버스에 대한 통계 및 예측 제공
- 과거 같은 요일(최대 5주전까지) 시간대별 남은 좌석 통계 제공
- 과거 통계 데이터를 바탕으로 현재 도착예정 버스의 남은좌석 예측 제공
![리뷰1](https://private-user-images.githubusercontent.com/145682992/363014339-416aaf74-27d4-4928-86a3-101f43ff7773.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMDE0MzM5LTQxNmFhZjc0LTI3ZDQtNDkyOC04NmEzLTEwMWY0M2ZmNzc3My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kZTk3NzQ1NmZhNTQzOTIwMzU3YjY5MjhmMjk2Y2E2ZTQwNTllM2NlN2RmMGM2NmUzMGYyNGE5ZGVlMGJiOTkyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.tm9iHLQx1Qhu_mj6b6Z9j7n5LstpnoWl_j93l6HhvPc)
![리뷰2](https://private-user-images.githubusercontent.com/145682992/363014444-ae31bd68-4e82-4415-9fe4-cd248e7bf115.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMDE0NDQ0LWFlMzFiZDY4LTRlODItNDQxNS05ZmU0LWNkMjQ4ZTdiZjExNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05MWE3MTEzYzBkMmMzZDhmYWViYzg5MGEyN2I0MTgzYzdiMTg4ZjliMTUyOTcxNzJmYTA5M2M5ZGYwODgzZWViJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.YhgGJLyu-mqiEre9MWeRC-V2h9ravEiHY92kFNjE3wg)
- 이용한 버스-정거장에 대해 쾌적도 및 리뷰 등록 가능
- 이용한 시간대의 쾌적도를 리뷰하여 이후 예측에 활용할 예정(미구현)
![관리자1](https://private-user-images.githubusercontent.com/145682992/363023942-5237edc4-b387-42f5-a0d4-9fb329c8d5fb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMDIzOTQyLTUyMzdlZGM0LWIzODctNDJmNS1hMGQ0LTlmYjMyOWM4ZDVmYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iNzUxYzc1YWZhYmQzMDQ3NGI2ZmJiNGZmMWQ0NTQxNGI4OTJlZjkyMzQ1YWU3NjQ1ZWUzNjQyNWE1ZTU0YjM3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.JmZyooEPBK7f7fGxYJ-huHDLfq-5b1KEZCPvolHyi1Q)
- 사용자 관리
- 북마크 통계
- 리뷰 통계
- 수집 버스노선 관리
- 공공 api key 관리
- 스케줄러 관리
![관리자2](https://private-user-images.githubusercontent.com/145682992/363025465-e33ef513-6051-42cc-9553-6b2a348c6608.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMDI1NDY1LWUzM2VmNTEzLTYwNTEtNDJjYy05NTUzLTZiMmEzNDhjNjYwOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yODAxZGMxOWE1NDQwNTNjODZmZGIzMDk3NWE3MWM5MzkwYjZmMDYxNTA0MDZkNWZiYzZhNGU1ODIzOGM5NTJkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.bf3bf09gjUBLjAMKNOc3nWXTOuwzpfQMkkUViwOTvQk)
- 사용자 가입정보 조회 및 회원탈퇴(삭제)
![admin북마크](https://private-user-images.githubusercontent.com/145682992/363133187-9bb7c79f-6e0d-4873-a7fc-7f748305d50c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMTMzMTg3LTliYjdjNzlmLTZlMGQtNDg3My1hN2ZjLTdmNzQ4MzA1ZDUwYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jZDdiNzYyMjQ2YzhjN2ZlMjZhZWEzYjk2OGM4MTliY2RlZjhmMWRmYTUzOWExNTg0YzlkZTRmNDNjZTM1YWE0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Edeq70jXmB-wjmujSV__Azy4ep3eEGp4pWCPdF25A4A)
- 버스 노선-정거장 별 북마크에 등록된 횟수 오름차순 조회
![admin리뷰](https://private-user-images.githubusercontent.com/145682992/363133506-f1c50652-3606-452a-983f-e5ad4b594c80.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMTMzNTA2LWYxYzUwNjUyLTM2MDYtNDUyYS05ODNmLWU1YWQ0YjU5NGM4MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wOWQ0ZTk1OGRlNDNhMjc1ODNhZDIzY2JhZTFjMTc0YjY1ZWEyOGMxNDQ3NTY5YTA3NmViMWFmODE3MGMyNmNjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.r9crrhpWTkGfWkStgBdgFkUxL8_lzVC6FJRwuB_buSI)
- 버스 노선-정거장 별 리뷰 개수 오름차순 조회
![admin수집노선](https://private-user-images.githubusercontent.com/145682992/363133622-99678aee-ef82-4cc6-aad2-7639d188a0a4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMTMzNjIyLTk5Njc4YWVlLWVmODItNGNjNi1hYWQyLTc2MzlkMTg4YTBhNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04MzQ1ODIyYmJkOTVkOGQ1OGU1MGE1ZGUyMzU1YzJjNTkwNzk0N2YxMTI2MWMzZDRkM2UzM2M5M2UxMzliYjkzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.GTUdjGm_gyLnuq1Q-6Gj0XOzuIzM9dvOZ7EmO7SR7Xs)
- 실시간 위치정보 수집 대상 노선 관리(등록/삭제)
![admin공공api키](https://private-user-images.githubusercontent.com/145682992/363133711-a905ba96-306f-47b0-8675-172c1da93592.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMTMzNzExLWE5MDViYTk2LTMwNmYtNDdiMC04Njc1LTE3MmMxZGE5MzU5Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xMDJlZWExYzcyNDgyM2E0ZDVmNmIxZWExMTE1NDkzMTU4NzM0ZDAyYWM3MzhlOTUwNmViYTg5MWU1MTU3YjY1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.nzVxmYwW4Qeq8P7vfwQClkFhEJSImLO-f57sj5CQV-g)
- 공공 api 사용한도가 1,000천건/1회 이기 때문에 여러개의 api키를 등록하여 사용
- 요창 url별로 한도가 주어지기 때문에 각 url마다 사용량 따로 집계
- 한도가 초과된 api키는 다음날까지 사용되지 않음
![admin스케줄러](https://private-user-images.githubusercontent.com/145682992/363133859-76cd0445-8e0e-4ee2-b0bc-1d7afce919c0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODU3NDYsIm5iZiI6MTczOTU4NTQ0NiwicGF0aCI6Ii8xNDU2ODI5OTIvMzYzMTMzODU5LTc2Y2QwNDQ1LThlMGUtNGVlMi1iMGJjLTFkN2FmY2U5MTljMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMjEwNDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04NDk0MGU1NTMxZDJlN2U2Mzg0YTc4MTljZGVlMGU3ZWU4MWJlN2EyMWJlMjc2MDE5YmMyYTZlNWM0YmY1Y2Q1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.AjtPhOexV6xLrn-1REPOOkSebFRP-ZBPOxfeBeYq-70)
- 스케줄 등록이 된 작업 관리 (커스텀 어노테이션 : @DynamicScheduled)
- 버스 위치정보 수집 (3분간격)
- api key 사용량 리셋 (매일 00:00)
- 수집한 위치정보 데이터 가공 (매일 03:00)
- 런타임 중 크론식 변경 가능
- 한개의 작업에 여러개의 크론식 등록 가능 (구분자 "|")
- Spring Boot 3.3.2 / Java 17
- Spring Security (with Session & Cookie)
- Spring Data JPA
- MySQL 8
- Next.js
- Shadcn
- AWS EC2
- AWS RDS
- Docker / Docker compose
- 경기도 버스 노선 조회 : 버스 노선 정보
- 경기도 정류소 조회 : 버스 정거장 정보, 버스 정거장 경유 노선 정보
- 경기도 버스 위치정보 조회 : 특정 노선의 현재 운행중인 버스들의 실시간 위치 정보
- 경기도 버스 도착정보 조회 : 특정 정거장에 도착하는 실시간 버스 도착 정보