[AS 서비스 개발] 1. Kotlin 백엔드기반 AS 개발 프로젝트 시작

2024. 3. 3. 20:29Github 프로젝트/AS 서비스 프로젝트

728x90
반응형
SMALL

다음은 토이 프로젝트로 AS 개발 서비스를 진행 하고자 하고, 새로운 언어를 통해 Web Socket 기술까지 습득하는 것을 목적으로 둡니다.

따라서, AS 개발 프로세스는 조회, 신청, 변경, 취소 이 4가지 파트가 주요 기능 중 하나이며,

마치 게시판 CRUD 프로젝트와 비슷합니다.

 

<Github : Chaptor01 프로젝트 참조>

Github : https://github.com/BerkleyLim/AS_process

 

GitHub - BerkleyLim/AS_process: AS 처리 알고리즘 및 앱 개발

AS 처리 알고리즘 및 앱 개발. Contribute to BerkleyLim/AS_process development by creating an account on GitHub.

github.com

 

 

따라서 순서는 아래와 같이 진행 하고자 합니다.

1. 개발 언어 선택 : Kotlin

2. TV AS 조회 / 신청 / 변경 / 취소 로직 구성

3. Kotlin + Spring Boot 프로젝트로 변경

4. Kotlin + Ktor 프로젝트로 변경

5. 프론트엔드 UI 개발 이후, 서비스 웹&앱 개발 후 Web Socket 으로 개발

 

 

따라서 이번 시간에는 AS 서비스 개발 전 Kotlin 프로젝트 생성하는 글을 작성하겠습니다.

 

1. JDK 설정

Kotlin 시작 전 기존 JDK를 환경 설정해야 합니다.

필자는 OpenJDK 17.0 으로 구성하여 사용 중이며, Intelli J 사용 시 JDK를 다운로드하여 사용 가능합니다.

자세한 것은 Kotlin 환경 설정 구글링 하여 참조 바랍니다.

 

 

2. Intelli J 설치 

- Spring Boot 및 Ktor 사용 시 ultimate 버전 추천

- 돈이 부담스러우면 spring boot  및 ktor  환경 설정 참조 가능

- spring boot 같은 경우 vscode로 개발 가능

- 필자는 지금 단계에서는 community 버전으로 사용 중이나 차후 spring boot 및 ktor 시 ultimate로 진행 예정

 

 

3. Kotlin 프로젝트 생성

- 파일 > 새로만들기 > 프로젝트 메뉴 클릭

⌘ 필자의 경우 : Kotlin으로 gradle 기반으로 사용하였습니다. 시스템 빌드는 지금 단계에서는 IntelliJ 로 해도 부방합니다.

 

 

4. 생성 이후, Kotlin 실행 결과 출력

 

- 정상 적으로 설정 하였으면, 위의 그림처럼 나타내게 됩니다.

(1) Main.kt 을 엽니다.

(2) MainKt를 빌드하도록 설정합니다.

(3) 화살표 방향으로 실행합니다.

(4) 코드의 내용을 "Hello World!" 출력하는 메소드를 입력합니다.

(5) 실행 결과를 확인 할 수 있습니다. (결과 값 : Hello World!)

 

 

5. 입출력 테스트 진행

import java.util.Scanner

fun main() {
    // 아래는 입력 받는 값 : Java에서는 Scanner sc = new Scanner(System.in) 과 비슷
    // 결국 Java와 사용 비슷하다.
    var sc : Scanner = Scanner(System.`in`)

    var str1 : String = sc.nextLine()
    var str2 : String = sc.nextLine()

//    println("Hello World!")
    println(str1 + ' ' + str2)
}

 

- 위의 코드는 기본 입출력을 위한 코드입니다.

- 입력 

   Hello

   World

- 출력

    Hello World

 

이 포스팅은 Kotlin 입문자를 위한 포스팅이 아닌 Java 개발자에서 Kotlin으로 넘어오는 사람들을 위해 작성된 것으로 입출력 테스트 정도로만 진행하고 넘어가겠습니다.

 

 

5. 요구사항 

- 다음은 실제 현업에서 업무를 보게 될 부분의 대한 일부 요구사항으로 실제 API 를 만들어봅니다.

 

<요구사항 내용>

TV AS 서비스
- 다음은 AS 서비스를 받고자 한다.
- 고객 마다 찾아오는 유형은 각각 다른데 A고객은 AS 신청 이력 조회를 하고 싶고, B고객은 AS 신청 내역을 변경하고 싶어 한다. C고객은 AS건 취소를 원하고 D고객은 AS 신청을 하고 싶다.
- 따라서 메뉴는 “신청”, “조회”, “변경”, “취소”  총 4가지로 구분되어 있다. 따라서 고객이 원하는 서비스 각 기능을 구현해야 합니다.
- 서비스 진행 전 본인의 인적사항이 필요합니다.
- 기본 인적사항은 “이름”, “나이”, “휴대폰번호" 를 입력 받고 AS 서비스를 진행하기 위해 AS 번호가 필요합니다.

1) 신청인 경우
- 입력 값 : 이름, 나이, 휴대폰번호, 모델 명, 불능 사유, 출장 희망일, 접수일
- 출력 값 : as서비스번호
- 로직 흐름 설명
   - 입력 값을 바탕으로 데이터를 저장하고, 사유 추가, 불능 원인은 본래라면 수리기사가 작업 진행 후 변경 해야 하지만, 연습이기 때문에 판매자 입장으로 진행 해야 하는 로직에서 하루가 지나면 변경 처리(불능 원인 코드, 불능원인, 진행사항, 진행사항코드)를 입력 하는 방식하고, 처리완료일을 진행하자> > - 이후, 데이터 저장하여 성공 메시지를 띄어본다.

2) 조회인 경우
- 입력 값 : 이름, 나이, 휴대폰 as서비스번호
- 출력 값 : as서비스번호, 모델명, 접수일, 불능 사유, 불능 원인코드, 불능 원인, 출장희망일, 처리완료일을 출력해보자.

3) 변경인 경우
- 입력 값 : 이름, 나이, 휴대폰번호, as서비스 번호, 모델명, 불능 사유, 출장 희망일, 접수일
- 출력 값 : as서비스번호
- 로직 흐름 설명
    - 모델명, 불능 사유, 출장 희망일 변경 가능
    - 이후, 데이터 저장하여 성공 메시지를 띄어본다

4) 취소인 경우

- 입력 값 : 이름, 나이, 휴대폰 as서비스번호
- 출력 값 : as서비스번호, 모델명, 접수일, 불능 사유, 불능 원인코드, 불능 원인, 출장희망일, 처리완료일을 출력해보자.
- 이벤트 진행 이후, 2일이 지나면 처리 완료로 default로 설정 하여 로직을 작성하세요.

 

 

다음 포스팅 부터는 본격적인 로직을 작성해보도록 하겠습니다.

 

 

728x90
반응형
LIST