https://github.com/Lee-Dimension/KokoaTalk
25년 7월 15일 - 25년 7월 18일 (4일)
팀원 1 : (본인) 김희곤 (채팅창 UI 및 대화 기능 구현)
깃허브 링크 -> https://github.com/heegon02
팀원 2 : 이차원 (친구 목록과 대화방 목록 UI 구현, 파일 입출력을 통한 데이터 처리 담당)
깃허브 링크 -> https://github.com/Lee-Dimension
언어 : Java (IDE : eclipse)
GUI (자바 Swing과 awt를 이용 : 주로 Swing을 사용)
통신 (자바 Socket)


메인 화면 (MainFrame.java) 에서 하단에 버튼 처리를 받아서 카드 레이아웃으로 친구 목록 화면 혹은, 채팅 목록 화면 둘 중에 하나를 출력할 수 있다. 이때 서버가 data/ 폴더 아래에 있는 friendlist/ (친구 목록), chatrooms/ (채팅방 목록), messages/ (채팅방 메시지) 에서 데이터 읽어와 전송.
해당 데이터를 클라이언트가 gui 로 표시.


.ser (직렬화 파일)
사용자 정보 저장
유저 전체 목록 정보
.ser (직렬화 파일)
채팅방 생성 및 채팅방별 참여자에 대한 정보 저장
채팅방 전체 목록 정보
.ser (직렬화 파일)
채팅방별 메시지 (채팅 내역) 저장 담당
채팅방별 메시지 내역 정보
ui 구현까지는 구글링과 손코딩을 통해서 작업을 했다. 기본적인 개념만 알고 있다면 기본 문법과 패키지, api 등은 구글링을 통해서 모두 해결할 수 있었다. 머릿 속에 애매하게 자리잡았던 JFrame, JPanel 등 gui 구조에 대해서 확실히 알게 되었다.
목요일이 되자 금요일까지 프로젝트 결과가 나와야 한다는 압박감에 소켓 통신에 대해서는 자세히 공부할 시간이 없었다. 일단 Ai를 이용해서 채팅 프로그램으로서의 최소 기능들만 구현해 놓았다. 추후에 소켓 통신과 네트워크 부분을 학습하여 Java 카테고리에 정리해 놓을 생각이다. 코딩은 확실히 프로젝트를 진행하면서 실력이 늘 수 있는 것 같다. 앞으로는 프로젝트에 시간을 좀 더 할애하여 공부가 온전히 될 수 있도록 노력할 것이다.