어디갔지?는 지역 기반의 온라인 분실물 센터입니다.
사용자들은 분실물과 습득물을 서로 공유하여 주인 잃은 물건의 주인을 빠르게 찾도록 도와줍니다.
다음과 같은 기능이 포함되어 있습니다.
- 분실물 신고 접수 기능
- 분실물, 습득물 전체 조회
- 앱 내 포인트(화폐) 기능 (닻별, 별조각)
- 새로운 분실물 등록 시, 지역 기반의 푸시 알림 기능
- Spring Boot (Kotlin)
- Spring Data JPA
- Spring Security
- MySQL
- QueryDSL
- FirebaseCloudMessaging
- FirebaseRealtimeDatabase
- AWS EC2, RDS, S3
- 닉네임 자동 생성 3rd 파티 솔루션 (https://nickname.hwanmoo.kr/)
- 본 Repository를 로컬 환경에 Clone 받습니다.
- InteliJ IDEA로 build.gradle을 Project로 오픈합니다.
- application-secret.properties 파일을 resource 하위 디렉토리에 application.properties와 함께 위치시킵니다. secret 파일은 DB 연결정보, cloud 자원 연결 정보 등을 입력합니다.
- firebase JSON 서비스 키를 위치시킵니다.
- LoststarApplication main 함수를 실행시킵니다.
- gradle을 활용하여 jar파일로 패키징합니다. (loststar-0.0.1-SNAPSHOT.jar 생성 됨)
- AWS EC2 인스턴스에 파일을 이동시킵니다. (FTP 프로그램 사용 권장)
nohup java -jar loststar-0.0.1-SNAPSHOT &
을 이용하여 실행합니다.- 서버가 정상적으로 구동되었는지 확인하려면 /test 엔드포인트로 접근해 봅니다. (확성기 아이콘이 나오면 서버가 정상 작동 된 것 입니다.)
- JDK 17 버전 이상의 Java가 필요합니다.
- application-secret.properties 작성 포맷
spring.datasource.url=jdbc:mysql://DB연결정보/loststar
spring.datasource.username=사용자 계정
spring.datasource.password=패스워드
jwt.secret = 임의 비밀키 값
cloud.aws.credentials.accessKey = S3 액세스 키
cloud.aws.credentials.secretKey = S3 시크릿 키
cloud.aws.region.static = 지역
cloud.aws.region.auto= false
cloud.aws.s3.bucket = 버킷명
cloud.aws.s3.dir = 디렉토리명
cloud.aws.stack.auto = false
- firebase JSON 서비스 키 설정 방법 https://mopil.tistory.com/129