총 프로젝트 기간 5주
10/14 ~ 10/18 : 부트캠프 및 기획(1주)
10/21 ~ 10/25 : 설계(1주)
10/28 ~ 11/15 : 개발 기간
11/16 ~ 11/18 : 개발 Deadline 및 발표준비
나의 역할: 풀스택(프론트엔드 + 백엔드)
나는 이번 Portalio 프로젝트에서 풀스택를 맡았다.
풀스택으로 백엔드 전반의 작업을 맡아 개발을 했다.
Portalio github 바로가기
| 김헌규 | 이진송 | 차상곤 |
|---|---|---|
| Team Leader | Full Stack Tech Leader | Full Stack Developer |
| @HG-KR98 | @nosong2 | @CHASANGGON |
| 윤민재 | 박재영 | 김은섭 |
|---|---|---|
| AI Tech Leader | AI Developer | AI Developer |
| @GloryMJ | @INPII | @subway9852 |
| Backend | Version |
|---|---|
| OpenJDK | 17.0.12 |
| Spring Boot | 3.3.3 |
| Spring Data JPA | 3.3.3 |
| Nginx | 1.18.0 |
| MySQL | 8.4.1 |
| Node.js | 20.18.0 |
| Python | 3.12.6 |
| FastAPI | 0.115.4 |
| SQLAlchemy | 2.0.36 |
| Oauth | 2.0 |
| Frontend | Version |
|---|---|
| React | 18.3.1 |
| TypeScript | 5.5.3 |
| AI | Version |
|---|---|
| Torch | 2.5.1 |
| Mediapipe | 0.10.14 |
| Librosa | 0.10.2.post1 |
| Google speech-to-text | 2.28.0 |
| Google text-to-speech | 2.21.0 |
| Openai | 1.53.0 |
| Resnet-50 | - |

Springboot (Portalio Server)
FastAPI (AI Server)
React
이번 프로젝트를 통해 동료와의 지속적인 소통과 백엔드 개발 능력에 대해 배울 수 있었다.
대체로 API를 찍어내는 작업이 많았던 프로젝트였다.
프론트엔드 작업을 원하는 팀원이 없어서 각자가 풀스택을 자처하여 해내기로 사전에 이야기 했다.
개발을 진행하면서도 이렇게 하기로 했는데 작업 후에나 저렇게 하기로 한거 아니냐고 하는 경우가 정말 많았다. 소통이 충분히 이루어졌다고 생각했지만, 많이 부족했던 것 같다.
Portalio는 전공에 관계없이 누구나 자신의 포트폴리오를 쉽고 체계적으로 작성하고 공유할 수 있는 포트폴리오 관리 플랫폼입니다. 자신만의 프로젝트와 경력을 관리하고, 이를 통해 개인의 전문성을 효과적으로 알릴 수 있도록 돕는 서비스를 제공합니다.
자율 트로젝트에서는 백엔드를 우선으로 담당하게 되었다. 다른 팀에서는 카프카(kafka)라던지, 동시성이라던지, 백엔드 단에서 다양한 기술을 활용하였는 이야기를 들었다.
하지만 그럴만한 기술을 넣을 구멍이 잘 보이지 않아 새로운 기술을 배워 볼 기회는 없었던 것 같다. 물론 내가 기술 폭을 잘 몰라서 그랬다고 생각한다...
프로젝트가 끝나고 나서야 드는 생각이지만, 엘라스틱 서치를 넣어볼 수 있지 않았을까? 싶었다.
이번 프로젝트를 진행하면서 단순 반복으로 RestAPI를 만들긴 했지만, 코드를 좀 더 깔끔하게 짤 수 있게 되었다. 그리고 AWS S3, MongoDB를 직접 활용해 볼 수 있었다.
나에게는 새로운 것을 구현해내는 것이 이제는 두렵지 않다.
구현 가능성에 대해서 검토하고, 직접 구현할때 정말 흥미를 느끼는 것 같다.
RestAPI를 만드는 작업으로 굉장히 금방 작업을 수행할 수 있었다.
게시판 별로 자기만이 갖는 특색이 있었지만, 베이스는 같아서 순식간에 쳐낼 수 있었다.
프로젝트 특성상 이미지, 동영상, pdf 등 다양한 파일을 업로드하고, 미리보기 및 ZIP 다운로드를 위해 사용함.
파일을 여러개 올렸을때, 파일 리스트를 관리하기 위해 MongoDB를 활용함.
S3와 MongoDB를 처음 활용해봤었다. 구글링을 통해 활용법을 보며 했더니 어렵지 않게 구현할 수 있었다. 파일 전체 내려받기는 백엔드단에서 ZIP로 압축시켜 내려주는 방식으로 구현했었다.
이번에도 코드리뷰를 하며 진행했다. 코드리뷰가 자연스러워 진 것 같아서 좋았다.
oauth2를 작업하는 팀원과 서로의 코드에 대해 의문을 날리며 더 좋은 코드가 될 수 있었던 것 같다.
프론트 작업으로 넘어갈 시점에는 더이상 시간이 없어서 코드리뷰를 제대로 하지 않고 완성에 집중한 것 같다.
기획부터 프로젝트 완료까지 Notion은 정말 많이 활용되었다. 백엔드끼리 소통할때도, 자료를 공유할때도 Notion은 참 좋았다.
의무적으로 사용했다. 목적에 맞춰 사용한다면 정말 좋은 툴이 될텐데 아쉽다.
의욕이 가득찬 팀원들의 기대에 못미친 프로젝트였던것 같아서 되게 아쉬웠다.
특화를 1주일 더 받고 그만큼 자율을 1주일 깎인만큼 완성도에 대한 아쉬움은 있었지만, 프론트에 대한 목표를 잡지 않고 진행했어서 그런지 아쉬움이 크진 않았던 것 같다.
자율 프로젝트를 마지막으로 SSAFY를 마무리하고, 이제 취준을 위해 cs공부, 영어자격증, 알고리즘 등등을 다시 하게 될 듯 하다.
멋져요 트러블 슈팅도 적어주세요