목차
1. 프로젝트 선정 이유
2. 팀원 분들과의 기술 공유, 문제점
3. 프로젝트 진행과정, 문제점 해결방한
4. 멘토님의 답변
5. 핵심 사이트 소개, 시연 영상
6. 프로젝트 완성 후 발표를 마친 느낀 점
[프로젝트 선정 이유]
백엔드 개발자를 꿈꾸는 컴퓨터 공학과 학생으로서, 방학 중에 스프링 부트를 이용한 스터디를 해보면서 간단하게 서버 동작 과정을 알 수 있는 세미 프로젝트를 경험을 해봤습니다.
이후 3학년 방학 때 대외 프로젝트이며, 더 깊게 스프링 부트를 공부할 수 있는 한 이음 프로젝트를 하기로 결심하였습니다.
한이음 프로젝트를 진행하기 위해 프로젝트를 고르던 도중 사용 기술이 SpringBoot, Jpa, Jwt가 전부 포함되고 멘토 님께서 경험 없는 멘티들을 위해 많은 기술 스택들을 경험해 준다는 한 프로젝트를 보았고, 여기에 참석하기 위해 자기소개서를 작성 후 지원했습니다.
결과는 ..?
이러한 이유로 인해 반려되었고, 학교 프로젝트를 통하여 협업을 경험해 보면 되겠구나 ..! 하며 개강하기를 기다리고 있었습니다.
저희 학교에서는 총 26가지 정도의 프로젝트 종류가 있었는데, 컴퓨터공학부 특성상 소프트웨어 전공만 있었던 것은 아니기 때문에 제가 원하는 웹 사이트를 만드는 프로젝트는 3가지 정도가 있었고, 거기서 회원과, 상품, 주문이 꼭 필요로 한 웹툰 소재 거래 사이트 프로젝트를 선택하여 선정 되었습니다. !!
[팀원 분들과의 기술 공유, 문제점]
멘토 님께서는 실제 한 중소기업 CEO셨고, 개발 쪽 도움은 주지 못한다고 하셨지만, 프로젝트 기획, ERD, 간트차트에 대하여 어떻게 구성해야 할지 잘 알려주셨습니다.
팀원들과는 얘기해 보니 한 분은 전과 생이셔서 자바만 할 줄 아셨고, 한 분은 스프링 MVC 패턴을 통하여 프로젝트를 짧게나마 경험해보신 분 이셨습니다.
문제점 1
그러면서 팀원들과 처음으로 얘기를 나눴는데, 우선 프로젝트는 NFT라는 생소한 단어를 사용하며 웹툰 소재를 거래한다는 내용이 있었는데, 이 NFT를 이용한 결제 시스템을 어떻게 구현해야 할지에 대하여 큰 어려움이 있었습니다.
문제점 2
팀원 모두가 백 엔드 개발자를 꿈꾸고 있어서 프론트를 어떻게 해결해야 될지 문제점이 있었습니다.
문제점 3
프로젝트가 1년, 6개월도 아닌 3개월 안에 3명이서 모두 마쳐야 한다는 것이었습니다.
[프로젝트 진행 과정, 문제점 해결 방한]
맨 처음에 문제점 1에 대하여 멘토님께 질문하였더니, 사실상 프로젝트 개요소만 NFT를 통해 결제하라는 것을 올려놓은 것 이었고 첫 산업 연계 프로젝트이며, 대학생들한테는 너무 어려울 수 있으니 NFT가 없이 웹툰 소재를 서로 사고팔 수 있는 웹 사이트를 만들어 보라고 하셔서 해결할 수 있었습니다.
문제점 2에 대해서는 사이트를 만드는 데 프론트엔드 개발자를 꿈꾸지 않더라도, 없는 건 말이 안 되니 크게 파트별로 나누어서 진행해 보았습니다. 그래도 팀원 분들 모두 웹 프로그래밍을 해본 경험을 바탕으로 적절히 만들 수 있었습니다.
문제점 3
가장 큰 문제점은 문제점 3 이었습니다. 프론트만 어느정도 만드는데 2주 정도 시간이 걸렸는데, 사실상 발표까지 포함한 3개월 이여서 거의 2개월 안에 프로젝트를 완성시켜야 하는데, 팀원 한 분이 프로젝트 경험이 아예 없으셔서 이것을 어떻게 해결 해야 할까 고민이 많았습니다.
제가 제시한 해결 방법은 우리는 크게 회원, 상품, 주문으로 나누어 개발을 진행했는데, 저는 회원을, 경험이 없으신 분은 주문을 담당하였습니다.
그나마 방학 때 프로젝트 경험을 해본 제가 빠르게 회원에 대하여 개발을 하는 동안, 경험이 없으신 분은 보완해야 할 프론트 디자인이나, 스프링 부트를 공부하기로 했습니다.
이후 제가 회원에 대한 개발을 마치면, 팀원 분과 함께 에자일 프로그래밍 기법 중 하나인 하나의 컴퓨터에서 두 명의 프로그래머가 개발하는 방법인 페어 프로그래밍 방법으로 주문을 개발하기로 제안했습니다.
팀원들 모두 동의를 하였고, 협업을 중요시하는 개발자 문화에서 팀원들과의 문제점을 해결한 것 같아 뿌듯하였습니다.
[ 멘토님의 답변 ]
멘토 님께서는 3개월 동안 짧은 시간임에도 불구하고, 나름 잘했다고 칭찬해 주셨습니다.
하지만 백 엔드를 꿈꾸고 있어 프론트에 대한 실력이 부족한 만큼, 웹 사이트를 디자인에 대하여 많이 부족하다고 말씀 해 주셨습니다.
그래도 진짜 웹툰 소재를 사고파는 사이트처럼, 회원가입을 하고, 로그인을 하며, 주문을 하고, 주문 상세를 확인할 수 있으며, 실제로 구매한 이미지는 다운로드할 수 있는 것에 대한 핵심 기능을 모두 구현한 것이 대단하다고 해주셨습니다.
그래서 저희는 프론트 보강을 하고, 멘토 님께서는 좋은 결과물인 만큼 결과물을 더 좋게 만들어 줄 수 있는 발표 방법에 대해 자세히 알려주셨습니다.
따라서 저희는 알려주신 것을 바탕으로 간트차트, ERD, 메뉴구조도, 비지니스 모델 등을 바탕으로 피피티를 만들었습니다.
[핵심 사이트 소개, 시연 영상]
[프로젝트 완성 후 발표를 마친 느낀 점]
3개월이란 짧은 시간 동안 프로젝트 하나를 만드는데 너무 힘들었지만, 이렇게 결과물로 보니 뿌듯했습니다.
개인 프로젝트로만 짧게 해보다가 이렇게 팀 프로젝트를 하다 보니 서로의 상황과 실력이 달라 많이 힘들었지만, 팀 프로젝트에서 가장 큰 문제점인 팀원과의 갈등을 항상 어떻게 해결해야 할지 고민이 있었는데, 페어 프로그래밍이라는 방법을 이용해 해결함으로써 한 츰 더 성장할 수 있었습니다.
단 기간에 완성해야 하는 프로젝트여서 완벽하게 이해하지 못하고 사용한 기술들이 있었는데, 추후에 이 프로젝트를 리팩토링 하거나, 사용 기술들을 좀 더 완벽하게 공부하여 완전 내 것으로 만들어야겠다고 생각했습니다.
개발환경 : java11, SpringBoot 2.7.9, Gradle2. Git, h2
사용기술 : Spring Data JPA, @Query2. MapStruct, Exception Gandling
'회고' 카테고리의 다른 글
[코딩 테스트 준비 10월] 회고 (0) | 2023.11.01 |
---|---|
[코딩 테스트 준비 9월] 회고 (0) | 2023.10.06 |