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

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

댓글 작성

아이디어는 많은데 어떤 걸 추진해야 할지 모르겠다는 달콤한 고민

브레인스토밍 세션을 마치고 나면 항상 행복한 비명을 지르게 되죠. "와, 아이디어가 이렇게 많이 나왔네!" 하지만 그 다음 ...

매력적인 캐릭터 탄생 프롬프트

여러분만의 독특한 캐릭터를 만들어보고 싶으셨나요? 많은 창작자들이 평면적이고 뻔한 캐릭터에서 벗어나지 못해 고민하곤 ...

프롬프트

ChatGPT

10시간 공부했는데 왜 기억나지 않을까? 과학적 학습법의 힘

ChatGPT

시험 3일 전, 500페이지를 어떻게 외웠을까?

ChatGPT

무의미한 회의가 사라진 날: 40분 회의가 10분으로 줄어든 비결

ChatGPT

재택근무 효율을 200% 끌어올린 나만의 프롬프트 기술

ChatGPT

직상생활..인간관계.. 어렵다..증말..

ChatGPT

요리가 너무 어려울 때, 나만의 초간단 해결법 찾은 썰

ChatGPT

자유롭게 글쓰는 방법 알고싶으시면 눌러보세용

ChatGPT

매번 버벅이던 전화 상담… 스크립트 템플릿으로 정리하니까 말이 술술 나옴

ChatGPT

이제 보험 아무거나 들고 후회하는 거 그만하려고요

ChatGPT

앨범 컨셉을 감각적으로 해석하는 프롬프트🌸🎧🫧

ChatGPT

지치고 힘들 때 gpt 심리 상담사와 함께 마음 챙기기

ChatGPT

반복 보고서 자동화 GPT 하나로 해결

ChatGPT

로그인 인증 설계, 하루 잡아먹었는데 GPT 덕분에 퇴근이 빨라졌어요

ChatGPT

KPI 때문에 매일 늦게 퇴근했는데, 지금은 10분이면 끝나요

ChatGPT

영어공부 2일차

ChatGPT

학생도 선생님도 쓸 수 있는 GPT 프롬프트 진짜 이건 꿀이에요