Algorithm fighter 팀 프로젝트 회고

개요
Algorithm fighter 프로젝트 회고
프로젝트에 대한 상세 정보는 여기에서 확인하실 수 있습니다.
프로젝트
프로젝트는 원래 프론트엔드 3명, 백엔드 2명으로 구성된 5명의 팀이었으나, 한 명이 취업으로 나가게 되어 급하게 백엔드 인원을 구해야 했습니다. 대부분의 팀이 이미 구성된 상태에서 갑작스럽게 백엔드를 모집하다 보니 인원이 부족해 다른 인원이 부족한 팀과 합쳐지게 되었고, 이로 인해 이전에 세웠던 기획들이 잘 융화되지 않아 다시 기획을 짜는 데 시간이 걸렸습니다. 늦게 시작한 만큼 빠르게 기획하고 실행하기 위해 노력하였습니다.
프로젝트 설계
디자이너가 없는 상황에서 Figma를 활용해 기본적인 UI 구조를 설계하였으며, 재사용 가능한 컴포넌트들을 조합하여 UI를 완성하고자 하였습니다. Typescript를 사용해본 팀원이 있어 Typescript로 진행하였고, Tailwind는 빠르게 수정 가능한 점과 유지보수의 용이성 덕분에 선택되었습니다.
기술 스택
🖥 Frontend
- React, Typescript, Tailwind, SCSS(SASS), Zustand, Axios, Monaco
🖥 Backend
- Spring, Java, MySQL, Docker, Stomp
🖥 Deployment
- AWS EC2 Github Actions
Liked (좋았던 점) 👍
백엔드와 협업하는 프로젝트는 처음이었는데, 함께한 프론트 팀원 중 경험자가 있어 기획 관련 도움을 받을 수 있었고 뿐만아니라 현업에 종사하시는 프론트 멘토분의 세부적인 지원이 있어서 좀 더 편하게 할 수 있었던 것 같습니다.
프로젝트에 관한 현실적 가능성, 진행상황 피드백, UI/UX, 테스트 케이스 여부, 보안 관련, 웹 접근성, 무한 스크롤, vite 마이그레이션 등
협업 툴로 Github를 사용하면서 git의 다양한 기능을 경험할 수 있었고, 추후 이 경험이 다음 프로젝트에 많은 도움이 되었습니다. 주말에도 따로 일정이 없을 때 대부분 프론트 팀원분들이 디스코드에 있으셔서 피드백을 빠르게 주고받을 수 있어 좋았습니다.
Learned (배운 점) 📚
리액트에서 타입스크립트를 처음 사용해보았지만, 타입을 지정하는 방법에 대해 완벽하진 않더라도 어느 정도 사용할 수 있게 되었습니다.
사용자 입장에서 UI/UX를 다시 한번 깊이 있게 고민할 수 있는 기회를 가졌습니다.
팀 프로젝트를 위해 개발 규칙이나 팀 문화를 만들어가는 과정을 통해 팀 프로젝트의 흐름에 대해 배울 수 있었습니다.
Lacked (부족했던 점) 🤦♂️
기획 중 팀이 해체되었다 합쳐진 팀이라 주제선정 때 시간적 여유가 없어서 프로젝트 주제가 생각보다 복잡해져 기술적인 한계가 있었습니다.
처음 사용하는 기술들이 많고 시간도 부족하다 보니, 상세히 이해하지 않고 사용한 기술이 정상적으로 작동되면 그냥 넘어가는 경우가 많았습니다.
스스로 팀 규칙을 잘 지켰는지 생각해보면 그렇지 않은 것 같습니다. 특히 1, 2번의 이유로 하나의 작업을 하는 데 시간이 좀 걸렸던 것 같습니다. 그러다 보니 후반에 맡은 기능 구현을 급하게 하다 보니 다른 팀원의 PR에 신경을 많이 쓰지 못한 것 같습니다.
마감 전날까지 시간이 빠듯해서 기능 구현에만 집중하다 보니 리팩토링 및 성능 최적화는 잘되지 않은 것 같아 아쉽습니다. 이외에도 추가 구현 기능들이 몇 가지 있었는데, 시간이 없어 하지 못했습니다.
Longed For (바라는 점) 😼
개인 프로젝트를 한 번 진행해보고 새로운 것들을 적극적으로 사용해보고 싶습니다. 다음 프로젝트 전까지 사용한 기술을 다시 한번 확인해보려 합니다.
프로젝트를 마치며
필수 기능은 어느 정도 구현되었지만, 완벽한 오류 처리를 하지 못한 점과 추가 기능 중 게임 느낌을 더할 수 있는 UI/UX를 구현하지 못한 것이 아쉽습니다. 프론트와 백엔드 팀원들이 주말 새벽까지 열심히 작업해주신 것을 알고 있기 때문에, 이런 자잘한 것들이 더 아쉬운 것 같습니다. 개인 역량을 늘리는 것이 중요하다고 생각하여, 2차 프로젝트 전까지 부족한 기술을 보충해나갈 계획입니다.