세미 프로젝트 회고

주재완·2024년 4월 27일
post-thumbnail

기간

  • 3월 11일 ~ 3월 17일 : 아이디어 도출 및 조율
  • 3월 18일 ~ 3월 25일 : 서비스 기획, UI 구상, ERD 구조 작성
  • 3월 26일 ~ 3월 28일 : 기획 및 UI 정리 후 발표자료준비
  • 3월 29일 : 기획 발표
  • 3월 30일 ~ 4월 12일 : 1차 핵심서비스 개발
  • 4월 13일 ~ 4월 22일 : 2차 추가기능 개발
  • 4월 22일 ~ 4월 24일 : 프로젝트 검수 및 테스트
  • 4월 25일 : 파일 제출 및 발표 준비
  • 4월 26일 : 최종발표

https://github.com/hyoyoungjjang/ohouse

주제

  • 오늘의 집 클론 코딩

조장인 저를 포함한 5명 모두 비전공자이기도 했고, 팀원들이 코드 작성에 익숙하지 못한 첫 프로젝트였기에 거창한 것을 하기보다는 이미 있는 서비스를 클론 코딩하기로 결정하였습니다.

팀원

조장(저), DB 관리자, 형상 관리자, 이슈 관리자, 일정 관리자의 역할로 5명이서 진행하였습니다.
구현 부분은 다음과 같았습니다.

  • 조장(본인)

    Front : 헤더&푸터, 쇼핑 메인&카테고리&베스트&오늘의 딜, 글 작성
    Back : 헤더&푸터, 로그인&회원가입, 커뮤니티 메인&상세 페이지, 글 작성

  • DB 관리자

    Front : 로그인, 회원가입, 검색, 주문 완료 페이지
    Back : 검색, 주문 완료 페이지
    DB 설계

  • 형상 관리자

    Front : 커뮤니티 메인&상세 페이지, 주문 페이지, 스크랩 페이지
    Back : 쇼핑 메인&카테고리&베스트&오늘의 딜 페이지, 스크랩 페이지

  • 이슈 관리자

    상품 상세페이지, 주문

  • 일정 관리자

    마이 페이지(프로필, 개인 정보 변경)

사용 기술 & 환경

Front - HTML, CSS, JavaScript, JQuery, BootStrap
Back & DB - Java(JSP & Servlet), MyBatis, Oracle
협업 - Git/Github, Notion, Discord, SourceTree
IDE - eclipse, vscode

좋았던 점

AJAX를 활용한 백엔드와의 통신을 많이 사용해보았던 점이 좋았습니다. 또한 개발 협업 기회가 전무했기 때문에 조장으로 참여해서 프로젝트를 진행해본 것은 처음이였기에, 이 기회를 얻은 것이 좋았습니다.

아쉬웠던 점

많이 있었습니다. 이는 아래에 정리를 해두었습니다.

  • 프로젝트 내용 기록을 안해둔 것
  • 로그인 시 보안을 고려하지 않고, 단순히 아이디 비밀번호만을 입력해서 비교한 것
  • Connection Pool에서 받은 객체를 close하지 않아서 지속적으로 DB 연결이 끊어졌던 것
  • 처음 기획을 조금 더 제대로 했다면 Table을 만들 때 노고를 줄일 수 있지 않았을 까 예상하던 것
  • HTML(정확히는 jsp파일), CSS, Javascript를 명확하게 분리하지 않았던 것
  • 구현에 focus를 두다보니 스파게티 코드가 된 것
  • 조장으로 일정 관리나 역할 배분에 미흡한 부분이 있던 것
  • 효율적인 DB 설계를 하지 않고, 과도한 callback으로 페이지 자체가 느려진 것
  • Pagination에 대해서 고려를 해보지 못한 것
  • 미구현 기능(상품 태그 등)

이외에도 수십가지는 있는 것 같은데, 지금 생각나는 것으로 요약하였습니다.

소감

아쉬움이 많이 남는 프로젝트였습니다. 특히 상품 태그를 구현하지 못한 부분이 가장 아쉬웠고, 업무 배분이 제대로 이루어지지 않았다는 점입니다. 그나마 다행인 것은 학원에서 하는 프로젝트가 하나 더 남았다는 점인데, 지금의 프로젝트를 바탕으로 파이널 프로젝트는 조금 더 보완하고자 합니다.

또한 좋든 나쁘든 기록하는 습관을 들이는 것이 좋겠다고 생각했습니다. 그래야 나중에 잘한 부분은 참고하고, 나쁜 부분은 다시 하지 않도록 언제든 확인할 수 있기 때문입니다.

향후 계획?

사실 프로젝트 기간 중 우테캠을 지원하면서 코테는 무난하게 통과했으나, 과제 테스트를 보면서 느낀점이 많았습니다. 학원에서 가르치는 기술 만으로는 많이 부족하다는 것을 말입니다.

물론 이미 머리로는 알고 있습니다만, 다른 전공자분들과 애초에 출발선이 다른 입장에서 남들이 걸어다닐 때 뛰는 것만으로도 모자라다는 것을 정말 우테캠도 지원하고 프로젝트 구현도 해보면서 느꼈습니다. 파이널 때는 다음과 같은 공부를 추가적으로 진행할 계획입니다.

  • 스프링 시큐리티 & jwt
  • Docker 등 배포관련 지식
  • 개인 프로젝트 2개(CRUD 게시판 1개, 그 외 1개)
  • CS 지식(컴퓨터 구조, 운영체제, 네트워크)
  • SQLD
  • (추가) AI와 관련된 부분들(특히 자연어 처리와 관련된 부분들)
profile
안녕하세요! 언제나 탐구하고 공부하는 개발자, 주재완입니다.

0개의 댓글