Code Monkey home page Code Monkey logo

rolling's Introduction

Rolling

코드잇 부트캠프 스프린트 프론트엔드 6기 : Part2 10팀 1차 프로젝트 image


1. 프로젝트 소개 & 팀원

프로젝트 소개

  • 어릴 적 써봤던 롤링페이퍼를 온라인으로 쉽게 작성할 수 있는 서비스입니다.
  • 로그인 없이 나만의 롤링페이퍼를 생성하고, 해당 링크를 나에게 메시지를 남겨줬으면 하는 사람에게 공유할 수 있습니다.
  • 롤링페이퍼에 글을 남기고 싶은 사람은 수신자에게 메시지를 쓸 수 있고, 헤더의 이모지를 추가해 수신자에 대한 감정을 표현할 수 있습니다.

팀원

팀원 역할 개발 내용
곽서연 발표자료 제작 메시지카드/리스트, 글로벌헤더
김영운 발표 메인페이지, 롤링페이퍼 생성폼, 공용 버튼 UI
김용인 시연영상 제작 롤링페이퍼 헤더, 카카오 SDK 공유 기능
김지윤 팀장&PM API 함수 모음, 메시지카드 생성폼, 롤링페이퍼 편집 기능, 다크 테마
임진조 배포 롤링페이퍼 카드/리스트, 롤링페이퍼 헤더(Message Counter), 페이지 전환 애니메이션

2. 개발 환경

사용 기술


  • React를 사용해 유지보수와 재사용성을 고려했습니다.
  • 컴포넌트 단위로 작업을 나누어 역할 분담에 용이했습니다.
  • 롤링페이퍼 헤더의 하위 컴포넌트들이 중복으로 사용되었고, 컴포넌트를 통한 리소스 절약이 가능했습니다.
  • CSR을 채택해 페이지 간 화면 전환을 부드럽게 했습니다.
프로젝트 구조
src % tree -d
.
├── assets
│   ├── fonts
│   ├── icons
│   └── images
├── components
│   ├── animation
│   ├── layout
│   └── ui
│       ├── primary-button
│       ├── rolling-header
│       │   ├── best-emoji
│       │   ├── emoji-add
│       │   ├── emoji-drop-down
│       │   ├── message-counter
│       │   ├── profile-preview
│       │   ├── rolling-paper-name
│       │   └── share-drop-down
│       └── text
├── hooks
├── pages
│   ├── home
│   ├── message-post
│   │   └── components
│   │       ├── DropDownBox
│   │       ├── content-editor
│   │       ├── drop-down
│   │       ├── message-form
│   │       └── profile-selector
│   ├── my-paper
│   │   └── components
│   │       ├── add-message
│   │       ├── message-card
│   │       ├── message-list
│   │       ├── modal
│   │       └── my-page-header
│   ├── paper-edit
│   ├── paper-list
│   │   └── components
│   │       ├── card-list
│   │       └── rolling-paper-card
│   └── paper-post
│       └── components
│           ├── check-box
│           ├── paper-form
│           ├── select-box
│           └── toggle-button
├── services
└── styles

49 directories

Git 협업

  • PR을 올리면 최소 1명의 코드리뷰가 있어야 main 브랜치에 병합되도록 보호 규칙을 정했습니다.
  • 각 PR들을 main에 병합할 때 Squash and Merge로 메인 브랜치의 히스토리를 깔끔하게 유지하도록 했습니다.

3. 개선 작업

코드 컨벤션 정정 및 리팩토링

  • 코드리뷰 중 컨벤션을 안 지킨 경우가 많아 가독성이 안좋은 것을 느꼈으며, 프로젝트 중반에 코드 컨벤션에 맞게 리팩토링했습니다.

데이터 패치 로직을 커스텀 훅으로 분리

  • State값과 useEffect훅 사용을 줄이기 위해, 데이터 패치 로직을 커스텀 훅으로 분리했습니다.
  • 관련 PR 링크

4. 페이지별 기능

메인 & 롤링페이퍼 리스트

  • 서비스 메인 화면으로, 서비스 설명 및 롤링페이퍼 리스트를 구경할 수 있습니다.

롤링페이퍼 만들기

  • 롤링페이퍼를 생성할 수 있으며, 이름을 필수로 입력하면 롤링페이퍼 배경 이미지를 선택할 수 있습니다.

메시지 남기기

  • 롤링페이퍼에 메시지를 작성할 수 있으며, 이름과 메시지 글을 필수로 입력합니다.
  • 프로필 이미지와 폰트를 설정할 수 있습니다.

롤링페이퍼 편집

  • 메시지 카드, 롤링페이퍼 페이지를 삭제할 수 있습니다.

이모지 추가 & 카카오톡 공유

  • 이모지 피커를 통해 롤링페이퍼에 이모지를 추가할 수 있습니다.
  • 카카오톡 계정과 연동해 롤링페이퍼 링크를 공유할 수 있습니다.

다크 모드

  • 헤더의 아이콘으로 다크/라이트 모드를 토글할 수 있습니다.
  • 설정한 모드는 로컬 스토리지에 저장되어, 브라우저에 다시 접속해도 설정한 모드가 유지됩니다.

rolling's People

Contributors

wayandway avatar yongin6412 avatar sparrowlim avatar youngunkim avatar yeonilil avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.