200_OK

📌 Notice 개발 블로그 https://codingjh.tistory.com/

[Chatppiok] 3_프로젝트 구조 재설정 본문

프로젝트

[Chatppiok] 3_프로젝트 구조 재설정

bluerainxx 2026. 1. 28. 15:51

 

 


 

 

기능을 전부 구현하고 테스트 하는데

직감적으로 이건 아니다라는 생각이들어

이전에 공부한 프로그래밍 교육자료와 구글 검색을 해봤습니다.

 

 

 

 

 

 

역시나 지피티가 제안한 디렉터리 구조는

기능 확장성을 고려 안하고 제안한 구조였습니다.

(분명 확장성 가능성 고려하라는 프롬프트를 넣었는데 말입니다)

 

너무나도 큰 실수를 했구나

 

 

 

 

 

 

 

 

다시 짠 프로젝트 구조입니다.

대략적인 구조이고 기능확장이나 제거에 따라 달라질 수 있습니다.

 

chatppiok/ (Root)
├── apps/
│   ├── web/                      # [Client] 유저용 웹
│   │   ├── src/
│   │   │   ├── components/       # UI 부품
│   │   │   ├── pages/            # 화면 단위
│   │   │   ├── styles/           # CSS
│   │   │   ├── lib/              # 라이브러리
│   │   │   └──shared/            # 공통 유틸
│   │   └─── public/              # 정적 파일
│   │        └──── index.html     # 실행 페이지
│   │        
│   │
│   ├── admin/                     # [Admin] 관리자 웹
│   │   ├── src/
│   │   │   ├── pages/
│   │   │   └── lib/
│   │   ├── public/
│   │   └── package.json
│   │
│   └── server/                     # [Server] 통합 백엔드 API
│       ├── src/
│       │   └── main/
│       │       ├── java/
│       │       │   └── com/
│       │       │       └── chatppiok/
│       │       │           ├── domain/
│       │       │           │   ├── chat/       # 채팅, 메시지, 접속자
│       │       │           │   ├── room/       # 채팅방 세분화
│       │       │           │   ├── character/  # 캐릭터 정보, 꾸미기
│       │       │           │   └── admin/      # 관리자 API
│       │       │           └── global/         # 설정, WebSocket, 에러 처리
│       │       └── resources/                  # 설정 파일
│       ├── build.gradle
│       └── README.md
│
├── infra/ (추후 클라우드 공부할 때 사용 예정)
│   ├── docker/
│   │   ├── web/                   # 웹 이미지
│   │   ├── admin/                 # 관리자 이미지
│   │   ├── server/                # 서버 이미지
│   │   └── db/                    # DB 이미지
│   ├── database/
│   │   ├── schema/                # 테이블 DDL
│   │   └── seed/                  # 초기 데이터
│   └── web/
│       ├── confing                # 전체 설정
│       └── sites/                 # 서비스별 vhost
│
├── .env.example                   # 예시만 올리고 실제 .env는 제외
├── docker-compose.yml
└── README.md

 

 

 

 

 

 

 

 

여차저차 변경 구조대로 다시 코드 수정하고

형상관리를 위해 GitHub 사용!

 

오랜만에 사용하는거라 다시 배우는데 좀 시간을 썼다.

 

 

 

 

 

 

 

 

 

 

여러 우여곡절 끝에 바뀐 구조대로 파일 분리

단순 파일 분리가 아닌 파일 하나로 합쳐진 기능들을 분류해서 여러개의 파일로

용도별로 분리 후 정상 동작하는 것 확인

 

 

 

 

 

 

Comments