정글에서 0주차(정글 익명 게시판 토이 프로젝트)

2025. 3. 15. 17:41개발

🎉크래프톤 정글 8기 0주차 후기

 

안녕하세요! 이번 포스팅에서는 크래프톤 정글 8기 0주차에서 팀 프로젝트로 익명 게시판 서비스를 개발하고 배포했던 경험을 공유합니다.

 

정글 입성 첫 주차부터 팀 프로젝트라니... 처음엔 부담도 있었지만, 팀원들과 3박 4일간의 집중 개발을 통해 멋진 결과물을 완성할 수 있었습니다.

 

 크래프톤 정글 입성기

 

크래프톤 정글 8기의 시작은 상상 이상으로 빡셌습니다!

자기주도적인 학습과 실전 프로젝트 중심의 분위기라 매일매일 새로운 걸 배우고 직접 적용해야 했어요.

 

특히 0주차 팀 프로젝트는 정글러들과의 첫 협업이었는데요, 서로 처음 보는 사이였지만 빠르게 팀을 꾸려서 익명 게시판 서비스라는 목표를 잡고 달렸습니다.

 

캠퍼스 입구


프로젝트 소개

 

✅ 프로젝트명

 

정글 8기 친목도모 익명 게시판 서비스

 

✅ 개발 기간

 

3박 4일

 

✅ 개발 목표

 정글러들 간 익명 소통 커뮤니티 제공

 취미 공유 / 품앗이 / 비밀 건의사항 기능 포함

 간단한 게시판 검색 기능 구현

 최소한의 보안 기능 적용 (JWT 인증)

 

플로우 차트

 

 

더보기

와이어 프레임

 

🚀 개발 & 배포 과정

 

1.서버사이드 렌더링(SSR) 경험

 

기존에 React + Node.js를 사용해 클라이언트 사이드 렌더링(CSR)만 경험해왔습니다.

이번 프로젝트에서는 Flask와 Jinja2를 활용한 서버사이드 렌더링(SSR)을 처음으로 적용했습니다.

 

페이지 전체를 서버에서 렌더링해서 클라이언트로 보내주는 방식이 새로웠고,

CSR에서는 주로 비동기 요청과 상태관리를 많이 고려했었는데, SSR에서는 상대적으로 더 간단하게 초기 렌더링이 가능하다는 점이 흥미로웠습니다.

 

특히 게시판에서 검색 기능 구현할 때 URL 파라미터를 서버에서 바로 처리해서 클라이언트 렌더링이 간소화되는 경험이 신선했습니다.

 


2.JWT 쿠키 기반 인증 구현

 

JWT 쿠키에 저장하고 서버에서 검증하는 방식을 처음 도입했습니다.

 

기존 localStorage에 저장하는 방식보다 보안적으로 안전하고,

CORS 설정 쿠키 전송 조건을 신경 쓰면서 웹 보안의 중요성을 배웠습니다.

 

jwt 구현 코드

from flask import make_response, redirect, url_for
from flask_jwt_extended import create_access_token
from datetime import timedelta

# 유저 인증 후 JWT 토큰 생성
user_id_str = str(user['_id'])

# JWT 토큰 생성 (30분 유효시간)
token = create_access_token(
    identity=user_id_str,
    expires_delta=timedelta(minutes=30)
)

# 쿠키에 JWT 저장하여 클라이언트에 응답
response = make_response(redirect(url_for('main.main_page')))
response.set_cookie(
    'access_token',   # 쿠키 이름
    token,            # 쿠키 값(JWT)
    httponly=True,    # JavaScript 접근 제한 (보안)
    secure=False      # HTTPS 사용 시 True (개발환경에 따라 설정)
)

return response

 

 

 


3. 3박 4일 팀 프로젝트 & 배포

 

처음 보는 3명의 팀원들과 하루 12시간 이상 개발하며

 기획 → 설계 → 구현 → 배포 → 발표

모든 과정을 경험했습니다.

 

깃허브에서 브랜치를 나누고 머지 전략을 고민하며 협업!

결국 서비스 배포까지 완료하고 시연도 무사히 끝냈습니다.

 

 GitHub 레포지토리

https://github.com/applepc24/jungleB314-8

 배포된 서비스 URL

https://kommy.butter.moe/login

 

메인페이지


 아쉬웠던 점과 개선하고 싶은 기능들

 

아쉬운 부분

협업을 체계적으로 생각하지 않고 시작하여 수정하고 기다리는 시간이 많이 소요됨

 CSS 다듬을 시간이 부족해서 UI 완성도가 떨어짐

 JWT만 적용하고, 회원 가입 시 본인 인증이나 비밀번호 해시 처리를 구현하지 못함

 회원 정보 찾기, 탈퇴 기능도 빠짐

 

다음에 추가하거나 도전할 부분

 비밀번호 해시화 (bcrypt, argon2)

 CSRF 방어 로직 추가

 이메일 인증 및 본인 인증

 Front/Back 분리해서 MSA 아키텍처를 주도적으로 정하고 개발할 수 있는 능력 배양

 


🧭 배운 점 & 느낀 점

 

1. 서버사이드와 클라이언트 사이드의 차이를 경험

 

기존 CSR만 하다가 SSR을 하니, 데이터 처리 흐름과 보안 측면에서 차이가 확연했습니다.

 

2. JWT 쿠키 기반 인증의 보안과 관리

 

쿠키로 JWT를 주고받는 것과 헤더 방식의 차이점을 이해하게 되었고, CORS 설정과 CSRF 방지에 대한 고민도 생겼습니다.

 

3. 팀워크의 힘

 

빠른 시간 내에 팀원들과의 의사소통과 협업이 얼마나 중요한지, 또 얼마나 재밌는지 느꼈던 시간이었습니다.

 


0주차를 마치며

 

정글은 정말 정글이었습니다.

정신없이 몰아치는 폭풍과 같았더 시간

0주차부터 이렇게 달렸으니 앞으로 더 열심히 몰입해서..