2024. 3. 3. 20:29ㆍGithub 프로젝트/AS 서비스 프로젝트
다음은 토이 프로젝트로 AS 개발 서비스를 진행 하고자 하고, 새로운 언어를 통해 Web Socket 기술까지 습득하는 것을 목적으로 둡니다.
따라서, AS 개발 프로세스는 조회, 신청, 변경, 취소 이 4가지 파트가 주요 기능 중 하나이며,
마치 게시판 CRUD 프로젝트와 비슷합니다.
<Github : Chaptor01 프로젝트 참조>
Github : https://github.com/BerkleyLim/AS_process
따라서 순서는 아래와 같이 진행 하고자 합니다.
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로 설정 하여 로직을 작성하세요.
다음 포스팅 부터는 본격적인 로직을 작성해보도록 하겠습니다.
'Github 프로젝트 > AS 서비스 프로젝트' 카테고리의 다른 글
[AS 서비스 개발] 2. 로직 개발, 사용자 정보 입력 받고 조회 구현 (0) | 2024.03.05 |
---|