미리보기
기본 정보

안녕하세요! 아름답고 편리한 인터페이스를 구현하는 프론트엔드 개발자 문총미입니다. 저는 아름다운 UI와 편리한 사용자 경험을 통해 비즈니스에 기여하는 것을 목표로 합니다.
포트폴리오
자기소개
끊임없이 배우고 성장하는 프론트엔드 개발자 문총미입니다.
사용자 친화적
- UI/UX에 깊은 관심을 가지며, 사용자 입장에서 쓰기 편한 서비스를 만드는 것을 중요하게 생각합니다.
- 피그마를 활용해 개선된 UI/UX를 제시하고 이를 구현할 수 있습니다.
- 다양한 관점에서 생각해보며, 여러 상황에서의 오류 처리를 꼼꼼히 확인합니다.
- Slam Talk 프로젝트에서 첫 화면 접근성을 개선하여 사용자 접근성을 크게 향상시킨 경험이 있습니다.
꾸준히 학습하고 기록
- 꾸준함의 힘과 기록의 중요성을 믿으며, 약 1년 반 동안 블로그에 200개 이상의 글을 작성하며 지식을 공유하고 있습니다.
- 개발 도서를 모여서 읽는 스터디를 운영하고 있으며, CS와 알고리즘 스터디에도 참여하여 기초 지식을 다졌습니다.
주도적으로 참여, 협력
- 스터디 및 프로젝트 참여 시 적극적으로 의견을 내고 공유합니다. 새로운 기술을 빠르게 습득하고 팀에 도입하여 성능 향상을 경험했습니다.
- 문제 해결을 위해 새로운 관점으로 접근하고, 필요한 기술과 도움을 찾아 끝까지 책임감을 가지고 해결합니다.
- 더 나은 커뮤니케이션을 위해 고민하고, 팀과 협력하여 문제를 해결하는 것을 목표로 합니다.
최종 목표
- 만 명 이상의 많은 사용자가 이용하는 서비스를 만들고 지속적으로 발전시키고 싶습니다.
- 개발 생태계 전반에 대해 깊이 이해하고, 기존 작업의 생산성을 크게 높이는 일에 기여하고 싶습니다.
- 최종적으로, 세상의 다양한 문제를 해결하여 사람들에게 도움을 주는 소프트웨어 엔지니어가 되고자 합니다.
기술 스택
JavaScript, React, HTML/CSS, Python, MySQL, Next.js, zustand, tailwind-css, GitHub, TypeScript, Firebase
프로젝트
Slam Talk | 농구를 할 장소와 함께 할 친구를 찾을 수 있는 플랫폼
협업 프로젝트 | Frontend Lead
2024.01. ~ 진행 중
프로젝트 설명
평소 농구를 좋아하는 PM의 아이디어로 현재 네이버 카페에만 의존하고 있는 농구 커뮤니티를 좀 더 개선된 웹앱 형태로 개발해 더 편리하게 농구할 장소와 함께할 친구를 찾을 수 있는 서비스입니다.
🔗 Github | https://www.slam-talk.site
⚙️ 사용 기술
- 프레임워크, 언어: Next.js, TypeScript
- 패키지 매니저: Npm
- 상태 관리: React Query, Zustand
- CSS: Next UI, Tailwind CSS
- CI/CD 및 배포: Github Actions, Vercel
- 기타: React Hook Form
👩🏻💻 내가 기여한 부분
주요 기능 구현
- Kakao Maps API를 이용해 농구장 지도 및 제보 기능 개발
- 농구장 지도 개발 중 위도, 경도, 주소를 쉽게 찾을 수 있는 사이트 추가 개발
- 회원가입 및 유저 정보 수집 화면을 단계별로 분리하여 UX 개선
- 인앱 알림 API에 알림 아바타 기능 추가, 채팅방 목록 및 입장 시 로딩 설정으로 오류 발생 가능성 감소
Next UI 및 React Hook Form을 활용한 실시간 유효성 검사와 코드 최적화
새로운 기술(React Query) 도입으로 팀 생산성 향상에 기여
Next.js 환경 설정, Github Actions를 이용한 CI/CD 설정
SEO 최적화
- Google Analytics 설정
- title 및 meta 태그 설정 등으로 lighthouse SEO 점수 100점 달성
💥 트러블 슈팅
토큰 저장, 로그인 유지:
- 보안을 위해 accessToken을 메모리에 저장하는 과정에서 상태 값이 날아가는 문제를 해결하기 위해, 새로고침 시마다 React Query를 활용해 토큰 재발급 요청.
제보 상태 바로 업데이트:
- 농구장 제보 완료 후 지도에 ‘제보 검토 중 마커’를 즉시 표시하기 위해 React Query의 refetch를 활용해 제보 성공 완료 후 서버 반영사항을 바로 지도에 업데이트.
useState의 비동기 작동
- useState가 비동기적으로 작동하는 원리를 이해하고, 상태 업데이트 후 조건부 렌더링이 즉시 발생하지 않는 문제를 해결.
Dev Connect | 실시간 커뮤니티
개인
2022.11. ~ 진행 중
프로젝트 설명
인스타그램, 트위터 등 주요 SNS처럼 주변인들(주로 개발자 친구들)과 쉽게 소통할 수 있는 실시간 커뮤니티를 만들고 싶어 틈틈히 개발했습니다. 간단하고 편리한 사용에 집중했으며 커뮤니티에 필요한 기능들을 점차 추가하고 있습니다.
🔗 Github | https://realtime-x-1f51f.web.app
⚙️ 사용 기술
- 프레임워크, 언어: React, TypeScript
- 데이터베이스: Firestore
- 빌드, 패키지 매니저: Vite, Npm
- CSS: Styled-Components, 일부 Tailwind CSS
- 배포: Firebase Hosting
👩🏻💻 내가 기여한 부분
- 실시간 업데이트가 되는 커뮤니티 구현
- 글, 태그, 사진 CRUD 기능 구현
- 전체 검색(글 내용, 태그, 작성자 포함) 기능 구현
- 무한 스크롤 기능 구현
- 좋아요/북마크 기능 구현, 해당 목록 페이지 구현
- 인증 및 사용자 관리
- 이메일, 구글, 깃허브 로그인 기능 구현
- 유저 정보 수정 기능 구현 (이름, 프로필 사진)
- 데이터베이스 설계 및 구현
- 내가 ‘좋아요’한 글에 하트 표시, ‘좋아요한 글 목록’ 두 가지 기능을 만들기 위해 데이터베이스 설계시 해당 글 문서 likedBy 필드에 ‘좋아요’시 유저id를 삽입해 관리
- 실시간 업데이트를 위해 Firestore의 onSnapshot() 메서드를 활용해 데이터 변경 사항을 감지
💥 트러블 슈팅
- 이미지 스플리팅 및 Suspense 오류
- 이미지 스플리팅과 동적 이미지 로딩 시 발생한 Suspense 오류를 해결하기 위해 Suspense 컴포넌트를 추가하고 로딩 상태를 표시.
DJIDE | ChatGPT가 탑재된 실시간 협업용 Web IDE
협업 프로젝트 | Frontend
2023.12. ~ 2023.12.
프로젝트 설명
원활한 협업을 위해 동시 편집이 가능한 코드 에디터, 참여자간 소통을 위한 채팅, ChatGPT로 바로 옆에서 코드 리뷰 할 수 있는 협업용 Web IDE입니다.
🔗 Github | https://the-greate-ide.vercel.app (현재 백엔드 서버 중단)
⚙️ 사용 기술
- 프레임워크 및 언어: Next.js, TypeScript
- 패키지 매니저: Npm
- 상태 관리: Zustand
- CSS: Styled-Components, 일부 MUI
- CI/CD 및 배포: Github Actions, Vercel
- 기타: CodeMirror, Liveblocks, Jira
👩🏻💻 내가 기여한 부분
- 실시간 동시 편집 코드 에디터 구현: CodeMirror와 Liveblocks를 이용해 여러 사용자가 동시에 코드를 편집할 수 있는 기능 개발
- 메인 페이지 및 프로젝트 목록 페이지 구현:
- 프로젝트 목록 UI 및 반응형 설정
- 프로젝트 삭제 및 비밀번호 변경 기능 구현
- 다크/라이트 테마 설정: Styled-Components의 ThemeProvider를 활용해 다크 모드와 라이트 모드 설정
- 개발 환경 설정: GitHub Actions를 이용해 CI/CD 파이프라인 구축, Husky를 사용해 커밋마다 자동 린트 검사 설정, Next.js 환경 설정
💥 트러블 슈팅
- 다중 파일 환경 접속 문제 해결:
- Liveblocks를 이용해 각 파일마다 독립적인 Room을 생성하여 다중 사용자가 각각의 파일에서 동시에 작업할 수 있도록 구현.
- 서버 사이드 인증 문제 해결:
- Next.js 서버에서 인증된 유저 정보를 필요로 할 때, 클라이언트 요청을 통해 Next.js 서버가 Spring Boot 서버로부터 인증 정보를 받아 처리하도록 구현.
교육
주식회사구름
사설 교육 | 리액트 풀스택 개발자 성장 과정
2023.08. ~ 2024.02. | 졸업
이지디자인컴퓨터학원
사설 교육 | 웹디자인 UI/UX 콘텐츠 개발 & 웹퍼블리셔 과정
2022.02. ~ 2022.07. | 졸업
충남대학교
대학교(학사) | 생활과학대 의류학과
2020.03. ~ 2022.02. | 졸업
계명대학교
대학교(학사) | 미술대 패션마케팅학과
2017.03. ~ 2020.02. | 중퇴
자격증
TOEIC
850 | YBM
2023.08.
SQLD
취득 | 한국데이터산업진흥원장
2023.04.
외국어
영어
일상 회화 가능
대외활동
모각북클럽(개발도서) 스터디 운영
기타
- 주 2회 정해진 시간에 디스코드에 모여서 주로 개발 도서를 읽거나 개인 공부를 하는 스터디 운영중
- 자율 스터디로 전환하면서 디스코드 자동 출석체크봇 개발로 출석 자동화
코칭스터디 9기 인공지능(AI) 기초 다지기 스터디 (6주)
boostcourse
- '인공지능 기초 다지기' 강의를 수강하고 6주간 팀 미션을 풀어보는 코칭 스터디
- 인공지능의 전반적인 기초 지식을 습득하고 Python, NumPy 학습
Data Science 코칭스터디 8기 (4주)
boostcourse
- '파이썬으로 시작하는 데이터 사이언스', '모두를 위한 데이터 사이언스' 강의를 수강하고 4주간 팀 미션을 풀어보는 코칭 스터디
- 한 달간 팀 리더로 활동하며 2주 이상 우수 미션 팀으로 선정
- 주로 pandas, seaborn을 활용한 데이터 분석, 시각화 학습