채팅 프로그램을 만들기에 앞서 기능이나 UI를 어떻게 구성할 것인지 생각하기 위해 네이트온과 카카오톡을 유심히 들여다봤고, 여러 기능이나 시간을 띄우는 곳을 어디로 할지 고민해봤다.
소켓을 활용하여 소켓의 각 기능별 들어가야할 내용과 어떻게 표기될 것인지에 대해 팀원과 상의했고, 함수명이나 구성에 대해 약속을 정하고 개발하기 시작했다.
소켓 구성을 통해 채팅방에서 대화를 나눴을때 Server측과 Client측이 무슨 기능을 구현할 것인지, 각각 코딩을 할 때 신경써야할 점이 무엇인지에 대해서도 협의했다.
시작화면과 메인화면으로 구성을 나누어서 각각 무슨기능을 넣어야할지 어떤 역할을 줄 것인지에 대해 상의한 회의록이다.
시작화면에서 로그인, 아이디찾기, 비밀번호 찾기, 회원가입의 기능을 수행하도록 하고,
메인화면에서 내정보, 친구, 채팅, 설정의 기능을 수행하도록 하였다. 각각의 기능에서 어떤 출력을 줄것인지에 대해 상의하면서 여러가지 의견을 바탕으로 좀 더 많은 기능을 추가하고자 하였다.
while문을 통하여 단편적인 방향이 아닌 다시 메인으로 돌아올 수 있는 양방향으로 이동이 가능하도록 설계하였다. 뒤로가기 버튼을 사용하여 항목에 들어갔다가 다시 뒤로 돌아갈 수 있는게 제일 중요하다고 생각하였고 무엇보다도 미적인 요소가 커야한다고 생각했다.
개발 단계에서 뺄 수 있으므로 최대한 많은 기능을 넣었다.
기획 마지막 부분에 정리한 화면이다.
아이디와 비밀번호를 입력하고 데이터베이스와 비교 후 일치하면 메인화면으로 넘어간다.
아이디를 찾기위해 이름과 폰번호, 생일을 입력하고 일치하면 아이디를 출력해준다.
'phone은 일치하는지 확인하기 위한 기본키 설정으로 표시해두었다.
비밀번호를 찾기위해 아이디, 이름, 폰번호, 생일을 입력한 후 맞다면 비밀번호를 찾게된다. 여기서 출력이 아닌 새로운 비밀번호로 업데이트 되는 방식을 사용하였다.
ID, PW, 이름, 폰번호, 생일을 입력하면 회원가입이 완료되고, ID를 기본키로 사용하기 위해 '표시를 해두었다.
프로필
- 프로필 보기 -> ID, PW, name, phone, status, birth, song
프로필에서는 상태메시지와 노래를 추가하여 설정하거나 출력될 수 있도록 설계했다.
Null일 경우에 없음으로 조회될 수 있도록 설계했다.- 상메 설정 -> 상태메시지 설정
- 노래 설정 -> 노래 설정
친구
- 친구목록 -> 회원가입 되어있는 유저의 이름(별명), 상태메시지, 노래, 생일, 번호, 송금을 출력
- 생일검색 -> 회원가입 할 때 입력했던 생년월일을 이용해 생일을 검색하여 기간 안에 존재하는 사람을 출력해준다.
채팅 -> 이전 채팅 내역을 출력, 채팅 수신/송신, 채팅 내용 검색
- 대화방에 입장했을 시에 이전에 나눴던 대화내용을 출력해준다.
- 소켓을 활용하여 채팅을 수신하고 송신 할 수 있도록 한다.
- 과거 채팅 내용을 키워드를 활용하여 검색할 수 있도록 한다.
설정
- 비번 변경 -> 비밀번호 변경을 수행
- 회원 탈퇴 -> 회원 탈퇴 할 경우 데이터베이스에서 튜플을 delete한다.
처음으로 부여받은 팀프로젝트이고 혼자 하는 것이 아닌 팀원과 함께 협동하여 하는 프로젝트이기에 마음가짐이 달랐고, 열심히 해서 꼭 가장 잘해야겠다는 생각이 강했다.
그래서 설계부터 많은 시간과 힘을 쏟았고, 덕분에 빠른 시간안에 뼈대를 완성하게 되었다. 뼈대 설계를 마쳤다면 반은 했다고 생각했고, 코딩은 시간문제라고 생각했다.