View My Startup 개인 개발 보고서
1. 프로젝트 개요 (Project Overview)
- 개인 투자자들의 스타트업에 대한 관심이 증가하고 있지만, 스타트업 정보의 접근성은 여전히 부족합니다.
View My Startup 서비스는 이러한 시장 가능성을 바탕으로, 개인 투자자들이 스타트업 정보를 제공받고,
다양한 기준으로 스타트업을 비교하여 투자 결과를 확인할 수 있는 모의 투자 서비스입니다.
임의의 닉네임과 비밀번호만을 이용하여 모의 투자 시뮬레이션을 진행할 수 있으며,
비교 분석을 통해 성과를 기준으로 평가하고, 최적의 투자 대상을 결정할 수 있습니다.
2. 담당한 작업 (Task & Contribution)
맡은 작업
|
Front-End
|
Back-End
|
Nav
|
|
|
가상 투자 현황 페이지
|
|
|
가상 투자 기능
|
|
|
가상 투자 기능 모달
|
|
|
기업 상세 페이지
|
|
|
Render 배포 관리
|
|
|
팀 노션 문서 관리
|
|
|
유저 플로우, 페이지 플로우, ERD 작성
|
|
|
발표 자료 준비
|
|
3. 기술적 성과 (Technical Achievements)
- 기술 스택
- Front-End : JavaScript, React
- Back-End : Express.js, PostgreSQL - 구현한 주요 기능
- 레이아웃 구현 : Container 컴포넌트를 만들어서 공통 여백 등의 레이아웃 설정
- 모달 레이아웃 구현 : 기본적인 모달의 레이아웃 UI를 구현하여 공통 컴포넌트로 구현
- 사용자 편의 기능 추가 : 투자 수정/삭제 시 비밀번호 입력 인풋에 바로 포커스 되도록 구현, 비밀번호 입력 후 엔터키로 동작 가능하도록 구현, 수정/삭제 시 컨펌 모달을 통해 한 번 더 데이터 확인
- 투자 기능 구현 : 사용자들이 모의 투자할 수 있도록 구현하고, 그로 인해 저장된 값을 수정 또는 삭제할 수 있도록 구현
4. 문제점 및 해결 과정 (Challenges & Solutions)
- 문제점 : post 진행 시 MockInvestor 모델에서 id 필드가 중복된다는 오류 발생
- 해결 과정
① 에러가 어디 부분부터 발생하는 것인지 콘솔에 로그를 출력
② 에러 추적 → 백엔드의 MockInvestor id 필드가 문제인 것을 인지
③ 인터넷 검색을 통해 같은 사례 발견
④ postreSQL에서 내부 시퀀스가 자동으로 생성되는 id를 추적하도록 설정
⑤ 문제 해결 - 문제가 발생했던 원인
→ 현재 id 필드는 Autoincrement 속성으로, 새로운 레코드가 추가될 때마다 id 값이 자동으로 1씩 증가, 따라서 마지막 생성 id 값을 추적해야 그다음 값으로 id가 생성 가능한데, 이 id 값을 추적하지 못하고 있었기 때문에 postgreSQL에서는 id를 다시 1부터 생성하려고 해서 중복 오류 발생했던 것입니다.
→ 왜 추적을 못했는지 : 처음 Mock Data에서 id 필드도 미리 설정하여 삽입했는데, postreSQL에서 설정된 값을 인식하지 못했기 때문에 추적할 수 없었습니다. - 참고 : https://github.com/prisma/studio/issues/370#issue-579970556
5. 협업 및 피드백 (Collaboration & Feedback)
- 팀으로 프로젝트를 진행하면서, 원활하게 의사소통이 되었던 것이 프로젝트를 진행하는 데에 있어서 가장 도움이 되었던 것 같습니다. 또한, 혼자가 아닌 여러 명으로 개발을 하는 것이 처음이다 보니 폐를 끼치지는 않을까 걱정이 앞섰지만 모르는 부분이 있거나 문제가 발생하면 서로에게 도움을 주고, 또 도움을 받으며 팀원들끼리 서로 힘이 되었던 것 같아서 좋은 경험이었습니다.
- 처음으로 브랜치 컨벤션도 정하고, 그에 맞게 브랜치를 생성 및 관리하다 보니 Git에 대해 많이 배울 수 있었습니다. 특히, 이론으로 배웠을 때는 단번에 이해되지 않았지만 직접 브랜치 전략도 겪어보고, 충돌도 해결해 보면서 Git에 좀 더 대해 이해하고 배울 수 있었습니다.
- 코드 리뷰를 해보려 하였지만 오타를 발견하는 것 외에는 리뷰할 수 없었습니다. 가지고 있는 지식과 경험이 부족하기 때문에 다른 팀원의 코드를 보고 개선점이나 문제를 파악한다는 것이 쉽지 않았습니다. 그렇기 때문에 더 많이 복습하고 공부하여 다음 프로젝트에서는 다른 팀원의 코드를 파악하고 제대로 된 리뷰를 해보고 싶습니다.
6. 코드 품질 및 최적화 (Code Quality & Optimization)
- 숫자 가독성 향상 : 모달에 투자 금액 입력 시 자동으로 콤마(,)를 입력하도록 구현
- 커스텀 훅 사용 : 컴포넌트마다 데이터를 불러오는 것이 아닌, 데이터를 불러오는 커스텀 훅을 통해 하나의 훅으로 재사용이 가능하도록 구현
- 유지 보수성 : 다른 팀원이 볼 때도 이해가 가능하도록 주석으로 간단한 설명을 입력하였고, 최대한 코드 구조를 일관되게 유지하면서 코드 작성
7. 향후 개선 사항 및 제안 (Improvements & Recommendations)
- 랜딩 페이지 제작 : 사용자가 웹 페이지에 접속하면 처음으로 보이는 페이지이기 때문에, 눈에 확 들어오는 랜딩 페이지를 제작하고 싶었습니다. 하지만 시간 관계상 제작하지 못했고, 추후 만들게 된다면 시선을 끄는 랜딩 페이지를 제작해 보고 싶습니다.
- 코드 리팩토링 : 기능 구현과 테스트를 중심으로 진행하다 보니 코드 리팩토링의 기회가 없었습니다. 시간이 있었다면, 중복이 되는 부분들을 공통 컴포넌트로 구현하는 등의 리팩토링을 할 수 있었으면 좋지 않았을까 하는 아쉬움이 있습니다.
8. 본인이 잘했다고 생각하는 PR
- https://github.com/season2-3team/season2-View-My-Startup-3team-FE/pull/14#issue-2558658642
- 선정 이유 : 작업을 하다 보면 본인도 모르게 여러 파일을 수정할 때가 많기 때문에 여러 기능이 합쳐진 PR을 올렸던 경우가 많았습니다. 하나의 PR에는 하나의 기능으로 작성하고 싶었지만, 아직 익숙지 않아서 생각한 대로 진행하지 못했던 경우가 많았습니다. 이 PR은 하나의 기능에 필요한 부분만 수정하고 커밋 하여 PR을 올린 것이 좋다고 생각해서 선정하게 되었습니다.
'프로젝트 > 개발 보고서' 카테고리의 다른 글
[프로젝트 개발 보고서] 피카픽포토 - Pika Pick Photo (0) | 2025.03.17 |
---|---|
[프로젝트 개발 보고서] 핏메이트 - FitMate (0) | 2025.03.17 |