지역별 실시간 재난 속보 및 안전 대응 API 서버 입니다.
- 지역별로 실시간 가공된 재난 속보를 제공 하는 것이 목표입니다.
- 재난 발생시 대피소, 행동 요령 등 안내를 푸시 알람 및 지도 앱 서비스를 통해 전달 하는 것이 목표입니다.
자세한 주요기능은 https://github.com/Beacon-2023/Beacon-frontend 에서 확인할 수 있습니다.
- 개발 환경
- 인프라: AWS EC2 , AWS RDS , Firebase Clude Messaging
- DB: MySQL
- 개발 도구: IntelliJ
- 라이브러리: Jsoup, JSON, OkHttp, Swagger3
- 개발 언어 및 프레임워크
- 언어: Java 17
- 프레임워크: Spring Boot 3.1.2
- ORM 라이브러리: Spring Data JPA
- 개발 환경
- 인프라: Firebase Cloud Messaging
- 개발 도구: Android Studio
- 라이브러리: Workmanager,Room
- 개발 언어 및 프레임워크
- 언어: Kotlin
프론트 아키텍처는 https://github.com/Beacon-2023/Beacon-frontend 에서 확인할 수 있습니다.
https://luck-hurricane-634.notion.site/1cabe7a63abd4e5fbb100bca0702e2e8?pvs=4
http://43.202.105.197:8080/swagger (중단)
- SpringBoot에서 @Scheduling으로 10초마다 스크래핑
- 스크래핑한 문자들은 중복확인을 거치고 필요한 재난문자들의 지역코드,발송시각,재난내용 그리고 재난 유형을 뽑아서 DB에 저장
- 다음 PR에서 자세한 코드를 볼 수 있습니다 : #23
- FCM을 사용하여 재난문자 푸시알림
- FCM Push 서버 구축
- 새로운 재난문자가 들어오면 해당 재난문자의 지역코드를 확인
- 해당 지역코드를 가진 fcm토큰에만 재난문자를 보냅니다
- fcm 패키지에서 자세한 코드를 볼 수 있습니다
- location 패키지에서 클라이언트에서 workmanager를 통해 15분마다 보내온 위치를 db에 저장하는 로직을 확인할 수 있습니다
- 현재 위치 정보 서비스에서 2022.4.20부터 시행된 개정에 의해 사업자 등록을 해야 사용할 수 있는 기능 입니다 향후 다른 방향으로 진행할 예정입니다
- 위치기반서비스 법률 참고 : https://www.kimchang.com/ko/insights/detail.kc?sch_section=4&idx=25117
- 기본 및 커스텀 가이드라인 제공
- 기본가이드라인은 재난안전포털에서 제공해주는 기본가이드라인을 제공
- 커스텀은 직접 사용자가 작성하여 db에 저장할 수 있게 제공
- guideline 패키지에서 자세한 코드를 볼 수 있습니다
- 회원가입 및 로그인 기능 제공
- session을 mysql에 저장하는 방식으로 했습니다. 향후 인메모리 db인 redis로 교체할 예정입니다
- 사용자 근처 대피소 찾기 서비스
https://github.com/Beacon-2023/Beacon-backend/wiki/Beacon-WIKI