코드 구조 잡는 데만 반나절 걸리던 개발 업무 GPT로 30분 컷

무한탭열기
1,955
0 0
새로운 기능 개발에 들어갈 때,
처음부터 코드 구조 설계하고 폴더 나누고 API 흐름 잡는 데
반나절은 기본으로 잡아야 했던 분들, 많으실 겁니다.
특히 내가 처음 다루는 프레임워크나 팀 컨벤션이 있는 환경이라면
“이거 어디서부터 어떻게 짜야 하지…” 하면서 텍스트 에디터만 멍하니 쳐다보는 시간도 꽤 길죠.
이번에 제가 맡은 작업은 Next.js 기반의 인증 API 모듈 직접 구현이었고,
next-auth 같은 라이브러리 없이 Google OAuth2 직접 연동해서
로그인 → 콜백 처리 → JWT 발급까지 처음부터 짜야 했습니다.
그래서 GPT에게 전체 구조 + 보안 조건 + 디렉토리 기준까지 다 정리해서 요청했더니,
진짜 실무자 코드처럼 전체 폴더 구조와 라우팅 흐름까지 정리해주더라고요.
💻 ChatGPT가 생성한 코드 설계 요약
📁 /app
 ┣ 📁 api
 ┃ ┣ 📁 auth
 ┃ ┃ ┣ 📄 google/start.ts
 ┃ ┃ ┣ 📄 google/callback.ts
 ┃ ┃ ┣ 📄 logout.ts
 ┣ 📁 lib
 ┃ ┣ 📄 jwt.ts # JWT 생성 및 검증 함수
 ┃ ┣ 📄 cookie.ts # 쿠키 설정 유틸
 ┣ 📁 db
 ┃ ┣ 📄 prisma.ts # Prisma 클라이언트 연결
 ┃ ┣ 📄 user.ts # 유저 DB 처리 함수

로그인 요청이 들어오면 /auth/google/start에서 구글 인증 URL로 리디렉션하고,
인증 성공 시 /auth/google/callback에서 코드를 받아 유저 정보를 조회,
신규 유저라면 자동 가입 처리 후 JWT 발급 → httpOnly 쿠키에 저장.
이후 클라이언트는 쿠키를 통해 로그인 상태를 유지.
로그아웃 시 /auth/logout에서 쿠키 삭제 후 세션 종료.
이 흐름이 코드와 주석까지 포함되어 있어서,
실제 프로젝트에서 바로 붙여 쓸 수 있을 정도의 구성이었습니다.
덕분에 설계 고민 없이 바로 로직 작업에 들어갈 수 있었어요.

프롬프트

복사
당신은 OAuth2 인증, 세션 설계, 보안 토큰 운용에 정통한 시니어 풀스택 개발자입니다.
나는 next-auth 같은 라이브러리를 사용하지 않고, Next.js 13(app router) 환경에서 Google OAuth2 인증 모듈을 직접 구현하고자 합니다. 아래 기준에 따라 실제 실무 프로젝트에서 바로 적용 가능한 수준으로 디렉토리 구조, 인증 흐름, 보안 설정, 확장 가능성을 포함한 설계를 제공해 주세요.

[환경]
- 프레임워크: Next.js 13 (App Router)
- 언어: TypeScript
- DB: PostgreSQL + Prisma
- 인증: Google OAuth2 직접 구현
- 세션: JWT (accessToken), httpOnly 쿠키 저장
- 제한: next-auth, passport 등 인증 라이브러리 미사용

[요청 항목]
1. 📁 전체 폴더 및 파일 구조 예시
- /app/api/auth/google/start.ts
- /app/api/auth/google/callback.ts
- /app/api/auth/logout.ts
- /lib/jwt.ts, /lib/cookie.ts
- /db/prisma.ts, /db/user.ts
- middleware.ts 포함
2. 🧭 인증 흐름 상세 설명
- 로그인 → 구글 리디렉션 → 콜백 → 유저 조회/가입 → JWT 발급 → httpOnly 쿠키 저장 → 메인 리디렉션
3. 🔐 JWT 설계 및 보안 설정
- payload 구성 (user_id, email 등)
- 서명 방식 및 만료시간
- .env 예시 포함 (.env.example)
4. 🍪 쿠키 설정 옵션 명세
- httpOnly, secure, sameSite, maxAge 등 실무 기준
- 도메인/서브도메인 대응 전략
5. 🧱 Prisma 유저 모델 구조 예시
- provider, oauth_id, email, nickname 등 필드 포함
- 신규 유저 자동 생성 방식 포함
6. 🛡️ 보안 고려사항
- CSRF 대응 방식
- redirect URL 검증 방식
- accessToken 탈취 대응 및 토큰 검증 시점
7. 🔄 확장 가능성 고려
- Kakao, Naver 등 추가 Provider를 붙일 때의 구조 확장 방향
- auth/[provider]/start.ts 구조 재사용 가능성
8. ⚙️ middleware.ts에서 인증 보호 처리
- 특정 페이지 접근 시 JWT 검증 → 미인증시 로그인 리디렉션
9. 📄 요청/응답 예시 및 클라이언트 처리 팁
- start.ts, callback.ts, logout.ts 요청 흐름 예시
- 클라이언트 단에서 로그인 버튼 클릭 및 상태 유지 방식 안내

[목적]
코드 복붙이 아닌 구조 전체를 실무에서 직접 설계할 수 있도록
"처음부터 인증 모듈을 만드는 상황"을 가정한 종합 설계 가이드를 요청합니다.
프레임워크에 종속되지 않고, 추후 React Native 또는 다른 프론트에도 확장할 수 있는 방향성도 고려해주세요.
🙌 설계부터 GPT한테 시키면 진짜 퇴근 시간이 달라집니다
코드 초안이 아예 처음부터 잡혀 있으니까
로직 짜는 데 집중할 수 있고, 실수도 줄고,
무엇보다 “구조 잡는 데 소모되는 에너지”를 줄일 수 있어서 진짜 실무가 편해져요.
여러분도 비슷한 기능 개발하면서 GPT한테 설계 맡겨보셨다면
프롬프트 공유해주시면 저도 참고하고 싶습니다 🙌

댓글 작성

과연 아이들의 이름도 ai로 짓는 시대가 오는걸까?

아이 이름을 짓는 일은 언제나 가족 모두에게 큰 고민이죠. 저도 주변에서 아이 이름을 정할 때마다, 한자 뜻부터 발음, 사주...

시간이 부족하다고 느끼신다면?

매일 할 일은 산더미인데 시간은 턱없이 부족하신가요? 이것이 현대인의 가장 큰 고민 중 하나입니다. To-Do 리스트는 끝없이...

프롬프트

ChatGPT

숫자가 말하는 진실 프롬프트

ChatGPT

나의 자산을 최적화 해서 현명하게 관리하는 프롬프트

ChatGPT

정책이 현실이 되는 프롬프트

ChatGPT

서버 지휘자 마스터 프롬프트

ChatGPT

회사가 찾는 인재 완성 프롬프트

ChatGPT

뻔한 아이디어 탈출 프롬프트

ChatGPT

예술가도 먹고살 수 있는 프롬프트

ChatGPT

돈의 배치를 바꾸는 프롬프트

ChatGPT

우리 반 성적 향상의 비밀 프롬프트

ChatGPT

서비스 미로 탈출 프롬프트

ChatGPT

3개월 스킬업 완주 프롬프트

ChatGPT

할머니도 유튜버가 되는 프롬프트

ChatGPT

마을을 바꾸는 벽화 프롬프트

ChatGPT

맞춤형 커리어 로드맵 프롬프트

ChatGPT

사용자 중심 인터페이스 프롬프트

ChatGPT

위기상황 대응 프로토콜 프롬프트