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

무한탭열기
1,133
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한테 설계 맡겨보셨다면
프롬프트 공유해주시면 저도 참고하고 싶습니다 🙌

댓글 작성

서버리스 아키텍처 혁신 프롬프트

여러분, 서버 관리의 부담에서 벗어나고 싶지 않으신가요? 전통적인 서버 기반 시스템에서는 인프라 설정, 스케일링, 보안 패...

복잡한 연결의 마술사 프롬프트

500개의 마이크로서비스가 서로 통신하는 상황을 상상해보세요. 마치 거대한 도시의 교통망처럼 복잡하죠. 저희 팀이 바로 그...

개발

공지

📢[필독] GPT 프롬프트 커뮤니티 이용 가이드

📢[필독] GPT 프롬프트 커뮤니티 이용 가이드

공유

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

공유

서버리스 아키텍처 혁신 프롬프트

공유

쪼개서 살린 시스템 분리 프롬프트

공유

레거시 애플리케이션을 컨테이너로 전환하는 마이그레이션 프롬프트

공유

서버 응답속도 10배 향상시키는 백엔드 최적화 프롬프트

공유

함수형 사고로 바꾸는 코드 리팩토링 프롬프트

공유

AI 추천의 비밀! 주제별 맞춤 추천 엔진 구축 프롬프트

공유

코드를 깔끔하게 개선은 하지만, 성능은 유지하는

공유

업무자동화 스크립트 프롬프트

공유

코드 분석 프롬프트

공유

탄탄한 소프트웨어, 설계의 비밀 프롬프트

공유

오래된 코드를 활용하는 프롬프트

공유

변수 헷갈림 방지 프롬프트! vba 변수 선언 자동화!

공유

사용자 100명에서 100만명으로, 서버가 견뎌낸 기적

공유

새벽 4시 버그와의 전쟁에서 승리하는 법

공유

코드 리뷰가 개발팀을 살렸다