오픈놀(OPENKNOWL)은 개인의 색깔과 가치를 발견할 수 있는 서비스를 제공하고 교육 컨텐츠를 개발하는 교육 및 IT 회사입니다. 그 중 제가 속한 미니인턴사업부는 실제 기업 프로젝트를 온라인으로 수행하며, 2주 만에 실무경험을 쌓고 취업하는 인재매칭 서비스입니다.
Twinkle은 북마크가 가능한 소셜 네트워크 서비스입니다. 관심있는 URL을 저장할 수 있고 다른 사람의 URL을 둘러볼 수 있으며 북마크를 해서 가져올 수 있는 서비스입니다. 프론트엔드 2명, 백엔드 2명, 디자이너 1명과 협업하였습니다.
전체적인 디자인, 개발설계부터 프론트엔드 기능개발을 맡았습니다. 백엔드와 지속적으로 소통하고 유의미한 기능 개발 후 오프라인으로 만나 애자일 회고 를 통해서 다음 기능개발에 대한 소통을 진행했습니다.
스프린트 방식을 활용하고, 매일 데일리 스크럼을 통해 팀원 간의 신속한 정보 공유와 작업 계획을 설정하였습니다.
또한, 피그마 를 통해 UI/UX 디자인을 시각화하고 팀원들과의 효과적인 커뮤니케이션을 이루어, 디자인적으로 오해를 최소화하고 프로젝트의 효율성을 높였습니다.
Next.js, Typescript, Redux-toolkit, React-query, styled-components, AWS-Route53, Vercel, Figma, Jest, React-testing-library, msw
MBTI로 상대를 선택해서 채팅을 하는 서비스입니다. 메인 개발자로 프로젝트를 리드하였고 프론트엔드 4명, 백엔드 3명과 협업했습니다.
레포개설부터 협업툴 연결, prettier와 eslint세팅, AWS 배포, Github Actions등 초기 개발환경세팅을 맡아 팀원들이 바로 개발에 집중할 수 있도록 기초작업을 맡았습니다.
또한 백엔드와 프론트엔드의 소통 불일치를 최소화 하기위해서 백엔드의 모든 회의에 적극적으로 참석해 개발팀간의 소통을 원활하게 하였습니다. 이후 프로젝트 종료시 회고 때 팀원들의 가장 좋은 피드백을 받을 수 있었습니다.
React, Sass, styled-components, Typescript, AWS(S3, Route53, EC2)
많은 양의 글과 고화질로 이루어진 사진 중심의 블로그입니다. (1인 개발)
페이지별로 다루는 글과 사진이 방대하여 최적화 해결에 집중하여 개발하였습니다.
React, styled-components, Typescript, MSW, cra-bundle-analyzer, react-app-reweird, preload-webpack-plugin
Instagram과 같은 일상을 공유하는 소셜 네트워크 서비스 입니다. 프론트엔드는 혼자, 백앤드 1명과 협업했습니다.
해당 프로젝트를 통해 리액트가 서버로부터 데이터를 받는 과정, 데이터를 받아서 상태를 관리하는 방법과 상태관리 등 리액트의 전반적인 흐름을 배울 수 있었습니다.
또한, 댓글과 대댓글의 기능 구현을 통해서 복잡한 상태를 효율적으로 관리하는 방법에 대한 고민을 통해서 구조에 대한 중요성을 경험할 수 있었습니다.
React, Typescript, Sass, Styled-components, Recoil, AWS(S3, EC2)
HTML5 : 웹 접근성을 우선시하며, 시맨틱 태그를 통해 구조적이고 명료한 마크업을 실천합니다.
CSS : SCSS의 중첩 규칙과 변수 활용을 통해 가독성 있는 스타일링을 구현하며, styled-components를 통해 컴포넌트 중심의 CSS 구조를 만들어냅니다.
JavaScript (ES6) : 최신 자바스크립트 문법을 자유롭게 활용하여 효율적인 코드를 작성하며, Promise와 async/await를 활용해 간결하고 이해하기 쉬운 비동기 로직을 만들어냅니다.
React : React를 기반으로 SPA 개발을 진행하며, React Hooks와 Context API를 활용하여 유연하고 효율적인 상태 관리를 실현합니다.
Next.js : 사용자 경험과 SEO를 고려하여 Next.js를 통한 서버 사이드 렌더링을 활용한 웹 개발을 효과적으로 수행합니다.
TypeScript : TypeScript를 적용하여 코드의 안정성을 확보하고, 명시적인 타입 표현으로 코드의 가독성을 향상시키고 런타임 오류를 방지합니다.
Redux-toolkit: Redux-toolkit을 활용하여 전역 상태를 원활하게 관리하며, 비동기 로직 처리에 필요한 Thunk를 효과적으로 적용하여 복잡한 상태 로직을 다루는데 능숙합니다.
Jest, React-testing-library: Jest와 React-testing-library를 활용하여 컴포넌트의 유닛 테스트를 구성하며, 안정적인 애플리케이션을 위한 테스팅 전략을 구현하고 지속적으로 유지 보수합니다.
S3 : AWS의 클라우드 저장소인 S3를 이용하여 웹사이트의 정적 파일을 관리하고 배포하는 경험이 있습니다.
CloudFront : 웹사이트의 전송 속도를 향상시키는 방법을 배웠고 실제 프로젝트에 적용해본 경험이 있습니다.
Route53 : 도메인 이름 시스템(DNS)을 설정하고 관리한 경험이 있습니다.
Vercel : Vercel을 이용해 프론트엔드 어플리케이션을 배포하고 관리한 경험이 있습니다.
환경 설정 : 사용 목적에 맞게 개발환경, 테스트환경, 프로덕트환경 등 스테이징을 나누어 개발환경을 개선한 경험이 있습니다.