Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- MySQL
- 욕심쟁이 방법
- 알고리즘
- 네트워킹데이
- 데이크스트라
- Pager
- 순차탐색
- spring boot
- mysql 표
- zsh theme
- 스터디2기
- Less
- 인프런
- cs
- mysql 표 출력
- 터미널
- 이진탐색
- oh-my-zsh
- 오일러 경로
- 오블완
- 맥
- VI
- 분할정복 방법
- zsh
- CS스터디
- 인프런워밍업클럽
- 티스토리챌린지
- table status
- mycli
- 동적 프로그래밍 방법
Archives
- Today
- Total
Develop
41일차~54일차_2차 프로젝트 진행 본문
안녕하세요 .ᐟ
그동안 잘 지내셨나요?
여태 1일 1 블로그 포스팅을 하다가, 프로젝트에 들어가면서 단위별로 포스팅을 하고 있는데요 .ᐟ
이번에는 2차 프로젝트 내용으로 돌아왔습니다.
스프링 부트를 이용한 백엔드 팀프로젝트로, 팀원 5명이서 화면을 기준으로 프론트부터 백엔드까지 모두 경험 할 수 있게 역할을 분담했습니다. 개발 기간은 약 3주로 이론수업 + 맛보기 간단 CRUD 프로젝트 이후 처음진행하는 프로젝트였습니다.
📌 팀 프로젝트 개요
개발자 취준생을 위한 맞춤형 TODO 서비스
- 서비스 설명 : 목표 기업의 채용 일정 등록해 체계적으로 관리하고, 준비 과정을 시각화할 수 있는 TODO 서비스
- 주요 기능 : 지원 일정, TODO 관리, AI 피드백, 게이미피케이션 등 다양한 기능 구현
- 개발 목적 : 타겟 사용자의 자기주도적 취업 준비 지원
📌 기획 및 설계 방향
- 타겟 사용자
- 개발자 취업을 준비하는 사용자
- 특히 다수의 기업에 지원 중이며 일정 관리에 어려움을 느끼는 사람
- 기획 포인트
- 기업별 채용 전형(TODO)을 등록하고 관리할 수 있는 기능
- 지원 마감일, 면접일 등 주요 일정에 대한 D-day 및 알림 기능
- 준비 과정에 따른 경험치/레벨 시스템과 업적 달성으로 동기 부여
- AI 피드백으로 감정 케어와 동기 유지 지원
- 설계 구조
- MVC 아키텍처 기반의 Spring Boot 구조 설계
- MySQL 기반의 관계형 데이터베이스 모델링
- ERD 설계 → DTO → 엔티티 → 서비스 계층 → 컨트롤러 구조로 정립
- 주요 화면 흐름과 데이터 흐름을 미리 정리한 UI/UX 화면 설계서(Figma) + API 명세서(Notion) 기반 개발
📌 기술 스택
- Backend
- Java 21, Spring Boot, Spring Security, JPA (Hibernate), MySQL
- Frontend
- Thymeleaf (SSR 방식), HTML/CSS
- 협업 및 문서화
- GitHub, Trello, Notion, Figma, 슬랙
- 기타
- Gemini API 연동
- 사용된 기술 정리
| 사용된 기술 | 개요 | 활용 |
| Java 21 | 최신 LTS 버전, 백엔드 전반의 비즈니스 로직 구현에 사용 | 전체 서비스 로직 및 엔티티, DTO, 서비스 계층 |
| Spring Boot | 빠른 설정과 배포를 위한 프레임워크 | 전체 프로젝트의 구조 기반, 의존성 관리 및 서버 실행 |
| Spring MVC | Controller - Service - View 구조의 핵심 | 사용자 요청 처리, URL 매핑, Model 전달 |
| Spring Security | 인증/인가 구현 | 로그인, 세션 인증, CSRF 보호, 권한 설정 |
| JPA (Hibernate) | 객체지향 방식으로 DB를 다루기 위한 ORM | 엔티티 설계, DB 조회/저장, 연관관계 매핑 |
| MySQL | 관계형 데이터베이스 | 유저, 목표기업, TODO, 레벨, 알림 데이터 저장 |
| Thymeleaf | 서버 사이드 렌더링 템플릿 엔진 | 대시보드, 마이페이지, TODO 목록 등의 HTML 뷰 렌더링 |
| Lombok | 반복되는 getter/setter, 생성자 자동 생성 | DTO, Entity, Service 클래스에서 코드 간결화 |
| REST API | 클라이언트와의 데이터 통신 방식 | /api/dashboard, /api/todo 등의 엔드포인트 제공 |
| CSRF 보호 | Cross Site Request Forgery 방지 | th:attr="_csrf" 방식으로 POST 요청에 토큰 포함 |
| 세션 기반 인증 | 현재는 세션 기반 인증 방식 적용 | @AuthenticationPrincipal을 통해 유저 정보 접근 |
| Gemini AI API | 외부 AI 멘탈케어 API 연결 | 목표 기업 상세 조회 시 응원의 메시지 제공 |
| ModelMapper | 객체 간 필드 매핑 자동화 | Entity ↔ DTO 변환 자동화 |
| Spring Data JPA | CRUD 메서드 자동 제공 + Query 메서드 지원 | Repository 계층 (findByUser, findByCompanyId 등) |
| Custom Query | 복잡한 조건 검색 | 목표기업 D-DAY 필터링 및 주요 알림 정렬 |
| Git & GitHub | 버전 관리 및 협업 | 브랜치 전략(main, dev, feature/*), PR 리뷰 기반 협업 |
| Commit Convention | 팀 컨벤션(예: ✨ feat:, 🐛 fix:) 활용 | 커밋 메시지 일관성 유지 및 이력 관리 용이 |
| Notion & Figma | 문서화 도구 및 UI 설계 도구 | 기획안, 시스템 구성도, API 명세, 화면 설계 |
| WBS (Work Breakdown Structure) | 프로젝트 일정 및 작업 분배 관리 | 기획 단계부터 발표까지의 일정 관리 |
📌 개발 과정
- 초기 설계 단계
- 팀원들과 WBS 작성 및 역할 분담
- UI/UX화면 구성안 기획 (Figma)
- API 명세서(Notion) 기반으로 각 컨트롤러 및 서비스 설계
- ERD 설계
- 기능 구현
- 사용자 회원가입 / 로그인 / 마이페이지
- 대시보드에 실시간 D-day, 주요 알림 표시
- 기업별 TODO 등록/수정/삭제
- 업적 달성 → 축하 애니메이션 출력
- Gemini AI와 연동하여 멘탈 케어 메시지 제공
- 협업
- Git 브랜치 전략 사용 (main, develop, 기능 브랜치로 나누어서 사용)
- 커밋 컨벤션 적용, PR 리뷰 통한 코드 통합
- 일정 관리 및 회의는 Trello, Zep으로 진행
📌 최종 결과물
- 사용자 맞춤 대시보드
- → TODO 현황, 레벨/XP 표시, 알림 ON/OFF 기능
- 기업별 채용 전형 관리
- → 기업마다 서류, 코테, 면접 등의 단계 관리 가능
- AI 챗봇 연동
- → 사용자의 상태에 맞는 피드백 응답
- 업적 시스템
- → 특정 업적 달성 시 축하 메세지(이펙트)와 경험치 지급
이번 프로젝트를 통해 사용자 중심의 서비스 기획, 실전 백엔드 로직 설계, 팀 협업의 전반적인 흐름을 실습할 수 있었고,
1차 간단한 CRUD 프로젝트에 비해서 기술적으로나 협업적으로나 많은 성장을 체감할 수 있었습니다 .ᐟ
'백엔드 > KDT_Programmers' 카테고리의 다른 글
| 2차 프로젝트 회고 & 트러블 슈팅 (0) | 2025.05.23 |
|---|---|
| 37~40일차_1차 팀 프로젝트 진행 (상품 주문 관리 프로젝트) (0) | 2025.05.03 |
| 36일차_공공데이터 (Open API) + Spring Cloud (OpenFeign) 연동 실습 (0) | 2025.04.29 |
| 35일차_SpringBoot: QueryDSL 적용, Boilerplate 마이그레이션, Thymeleaf 전환 (0) | 2025.04.22 |
| 34일차_Spring-JPA(영속성 컨텍스트, Entity 연관관계 매핑, N+1문제, CRUD), Spring-data(JPA 설정 및 사용, QueryDSL 사용준비) (0) | 2025.04.21 |