TIL(Today I Learned)/프로젝트 9

[TIL] 최종 프로젝트 : 9kcal. 오늘 뭐 먹지? (4~5 주차. 중간발표 이후 리팩토링 및 추가 개발 + 프론트)

설계 수정 & 개선4~5 주차는 프로젝트를 마무리하는 기간이라, 새로운 기능을 추가하기보다는 기존 코드를 다듬고 성능을 최적화하는 데 집중따라서 프로젝트를 더욱 안정적으로 마무리하기 위해 설계 보완, API 테스트, 성능 최적화, 프론트엔드 연동 및 구현, 코드 리팩토링 등의 작업을 진행 1. 설계 피드백 반영 및 수정 과정*ERD 수정 과정 및 변경 내용처음 설계보다 ERD를 직관적으로 표현하고, 데이터 구조를 개선ERD 도구 변경 : ERDCloud -> DBDiagram 사용1:N 관계를 더 명확하게 표현 가능취향 카테고리 및 연관 테이블 추가기존에는 취향 데이터를 한 테이블에서 관리중간 테이블을 하나로 할지, 각각 둘지 고민결론 : 중간 테이블을 개별적으로 두는 것이 관리하기 쉽고, Null 값 ..

[TIL] 최종 프로젝트 : 9kcal. 오늘 뭐 먹지? (2~3 주차. 구현 시작 및 중간 발표 준비)

기능 개발 시작& 역할 분배 및 협업2~3주차부터 본격적인 기능 개발 시작 및 팀원별로 역할을 나누고, Git 협업 방식을 정리하여 프로젝트를 체계적으로 진행 1. 기능별 역할 분배채팅 담당 : WebSocket, STOMP, Redis Pub/Sub 을 활용한 실시간 채팅 기능인증 / 인가 와 지도 검색 API 담당 : Spring Security와 JWT를 활용한 보안 기능 + 카카오 지도 연동배포 및 S3 이미지 업로드 담당 : AWS EC2, Docker를 활용한 배포환경 구축 및 S3 연동GPT AI 연동 및 취향 카테고리 담당 : OpenAI API를 연결하고 Spring AI를 활용해 프롬프트 설계 및 취향 기반 추천이렇게 4개의 역할로 분배하고 개발을 진행했으며, 나는 실시간 채팅 기능을 ..

[TIL] 최종 프로젝트 : 9kcal. 오늘 뭐 먹지? (1~2 주차. 프로젝트 시작 및 설계 과정)

프로젝트 주제 선정 과정고객 친화적인 서비스(여행, 도서관 등)나 온오프라인 동시 서비스 등의 아이디어도 고려했지만, 조금 더 익숙하고 접근하기 쉬운 맛집을 주제로 선택주제 선정 이유많은 사람들이 "오늘 뭐 먹을까?"에 대한 고민을 자주 함직장인을 포함한 다양한 사용자층을 확보 가능메뉴 추천을 AI로 해결하면 데이터 입력의 한계를 극복할 수 있음지도를 함께 제공하면 사용자 경험을 향상시킬 수 있음오픈채팅 서비스를 통해 사용자 간 소통을 지원하고, 메뉴 추천과 맛집 경험을 공유할 수 있게 함결론 : AI를 활용한 메뉴 추천 + 맛집 지도 연동 + 실시간 채팅 서비스를 주요 기능으로 설계하고 프로젝트를 진행하기로 결정기술 스택 결정 과정백엔드 트랙에서 배운 내용을 기반으로 선택하되, 프로젝트에 적합한 기술을..

[TIL] Trello(칸반보드) 프로젝트

프로젝트 명 : 판 떼기소개한 줄 정리 : 트렐로를 모티브한 일정관리 서비스내용 : 트렐로를 모티브한 일정관리 서비스진행 날짜 : 2024.12.23 ~ 2024.12.31 프로젝트 요약1. 프로젝트 목적:신입 2년차 백엔드 개발자 채용 공고에서 요구하는 핵심 기술 역량을 실전 프로젝트를 통해 학습하고, 이를 기반으로 개발 역량을 검증하는 것이 목표백엔드 개발 기술 습득Java & Spring Boot 기반의 REST API 개발JPA & MySQL을 활용한 데이터 모델링 및 트랜잭션 관리Spring Security & JWT 기반 인증/인가 구현AWS 클라우드 환경에서의 배포 경험EC2 + Docker + Docker Compose로 컨테이너화된 애플리케이션 배포RDS(MySQL) 분리를 통한 데이터 ..

[TIL] 배달 앱 아웃소싱 프로젝트

프로젝트 명 : 오늘은 뭐먹지?(What The Eat)소개한 줄 정리 : 오늘은 뭐먹지? 매일 선택의 순간에 놓인 당신을 위한 한 끼 추천 서비스진행 날짜 : 2024.12.03 ~ 2024.12.09 프로젝트 요약1. 프로젝트 목적Spring Boot + JPA를 활용한 도메인 설계 및 연관관계 매핑Soft Delete 기법을 통한 데이터 관리 방식 이해예외 처리 및 공통 응답 적용을 통한 안정적인 API 설계Enum을 활용한 상태 관리와 비즈니스 로직 캡슐화팀 내 코드 리뷰 및 리팩토링을 통한 유지보수 향상2. 프로젝트 구현회원 관리 : 회원가입, 로그인, 회원 탈퇴가게 관리 : 사장님이 가게 등록, 수정, 조회, 폐업 가능메뉴 관리 : 사장님이 메뉴 추가, 수정, 삭제주문 관리 : 고객이 주문 생..

[TIL] 고객과 통화 연관관계로 환전요청 만들기

진행 날짜 : 2024.11.26 ~ 2024.11.29 프로젝트 요약 1. 프로젝트 목적RESTful API 설계 : Spring Boot와 JPA를 사용하여 CRUD API를 설계하고 구현데이터 검증 : Validation을 활용하여 입력값 검증 및 데이터 무결성 보장비즈니스 로직 분리 : 계층별 역할 분리를 통해 유지보수성 향상예외처리 : GlobalExceptionHandler를 통해 예외 처리 방식 학습JPQL 활용 : 데이터 조회 및 요약을 위한 JPQL 사용법 학습2. 프로젝트 구현 단계Lv0 : 프로젝트 설계API 명세서 작성 : postman 사용ERD 작성 SQL 작성Lv1 : 고객(User)과 통화(Currency) 복잡한 연관관계환전 요청 중간 테이블 생성필드 : 고객 고유 식별자,..

[TIL] 뉴스피드 프로젝트

프로젝트 명 : 자주 취하지 않고 자취합니다.소개한 줄 정리 : 자취생들을 위한 꿀팁 모음집내용 : 자취생들의 생활에서 여러가지 꿀팁들을 공유하는 사이트진행 날짜 : 2024.11.19 ~ 2024.11.25 프로젝트 요약1. 프로젝트 목적협업 도구(Git & Github)를 사용하여 컨벤션 준수의 중요성 체득RESTful API 설계 및 JPA 기반 CRUD 구현Spring Boot와 JPA를 활용한 데이터 검증 및 인증/인가 로직 구현Cookie/Session을 활용한 인증 및 사용자 데이터 유효성 검증유지보수성이 높은 코드를 위한 비즈니스 로직 분리 및 예외처리2. 프로젝트 구현프로필 관리 : 사용자 프로필 CRUD, 비밀번호 변경, 본인확인 로직뉴스피드 게시물 관리 : 게시물 CRUD, 조회 시 ..

[TIL] 일정 관리 앱 만들기 & 기능 구현 develop

진행 날짜 : 2024.11.12 ~ 2024.11.15 프로젝트 요약 1. 프로젝트 목적일정관리 앱 개발을 통해, RESTful API 설계 및 JPA 기반 CRUD 구현(데이터베이스 관리), 데이터 검증, 인증 기능 학습Cookie/ Session 을 활용한 인증/인가 로직 학습과 데이터 유효성 검증데이터 검증 및 비지니스 로직 분리로 유지보수성 연습기본적인 보안 개념과 인증 매커니즘을 명확히 이해2. 프로젝트 구현 단계Lv0 : 프로젝트 설계API 명세서 작성 : postman 사용ERD 작성 SQL 작성 : root 경로에 schedule.sql 만들어서 작성Lv1 : 일정 CRUD일정 저장, 조회, 수정, 삭제 기능 구현일정 필드작성 유저명, 할일 제목, 할일 내용, 작성일, 수정일작성/수정일 ..

[TIL] 일정 관리 앱 서버 만들기 & 기능 구현

진행 날짜 : 2024.10.29 ~ 2024.11.08 프로젝트 요약 1. 프로젝트 목적데이터베이스와의 연동을 위해 JDBC를 사용해보며, 기본적인 SQL 쿼리 작성과 데이터 관리를 연습.CRUD(Create, Read, Update, Delete) 필수 기능은 모두 데이터베이스 연결 및 JDBC를 사용해 개발.일정 관리 애플리케이션을 만들며 CRUD 필수 기능을 구현하고, 적절한 상태코드를 반환 & 적절한 오류 코드 및 메세지 반환. 2. 프로젝트 구현 단계Lv0 : 프로젝트 설계API 명세서 작성 - postman 사용ERD 작성SQL 작성 - MySQL 사용Lv1 : 일정 생성 및 조회 기능일정 생성 - 할일, 작성자명, 비밀번호, 작성일, 수정일 데이터 포함작성일, 수정일은 날짜와 시간을 모두 ..