Skip to content

modern-agile-team/dongurami-front

Repository files navigation

💻 동그라미 (CIRCLE)

인덕대학교 학생들을 동아리 서비스

개발 일자 : 2021.08.01 ~





👨‍💻 기술 스택

FrontEnd

Cooperation



Next.js

  • Next는 SSR을 함으로써 CSR을 하는 React에 비해 높은 SEO와 초기 렌더링 시점을 앞당길 수 있음
  • 동적 라우팅 pages/post/[id] -> post/1로 접근 가능

SCSS(Module)

  • 변수(Variable) & 중첩(Nesting) & 임포트(Import)

Redux-Toolkit

  • action type이나 action creator를 따로 생성해주지 않아도 됨
  • redux thunk가 내장되어 비동기 지원
  • mutable 객체 사용 가능


  우아한 애자일 2기

회장


오창훈

회장

민순기

부회장

프론트엔드 개발자


민순기

프런트 개발 (팀장)

배범수

프런트 개발자

박현우

프런트 개발자

심서현

프런트 개발자

유준상

프런트 개발자

백엔드 개발자


이석호

백엔드 개발 (팀장)

오창훈

백엔드 개발자

류가희

백엔드 개발자

김지수

백엔드 개발자

📕 기능 구현 목록

  • 기본적인 CRUD 기능 구현
    • AWS S3를 통한 이미지 업로드 포함
  • 인증 기능 구현
    • 회원가입
      • bcrypt를 이용하여 비밀번호 해시암호화
      • salt와 함께 DB에 저장한다. -> salt는 비밀번호 복호화 시에도 사용된다.
    • 로그인
      • JWT 이용
      • HS256 알고리즘 사용
      • 로그인 유효시간 24시간
    • 아이디 찾기
      • 사용자가 입력한 이름 & 이메일을 인증한 후 해당 이메일로 아이디 발송
    • 비밀번호 찾기
      • 사용자가 입력한 아이디 & 이메일을 인증한 후 해당 이메일로 비밀번호 변경 URL 발송
      • 비밀번호 변경 페이지의 URL은 랜덤한 토큰값 사용
        • 토큰 유효시간 24시간
        • 비밀번호가 변경되면 토큰이 삭제된다. -> 동일한 토큰으로 비번 변경은 1회만 가능.
        • URL을 전달받은 회원만 비번 변경이 가능하다.
  • 알림 기능 구현
    • 가입 승인
    • 가입 거절
    • 대댓글
    • 동아리 일정 생성
  • 동아리 홍보 게시판 구현 (Modal)
  • 프로필 구현
  • 무한 스크롤 구현
  • 댓글(대댓글) 기능 구현
  • 스크랩 기능 구현


📄 Git Flow

Git Flow



📄 데이터베이스 ERD

스크린샷 2021-08-12 오후 3 43 36

스크린샷 2021-08-11 오전 10 44 51



📄 커밋 전략♡

Commit Stratage



📄 협업

  1. 협업 도구: Git, GitHub, Kakao work
    • GitHubEvent(PR, Commit 등) 가 발생하면 kakao work로 알림이 간다.
    • 비대면으로 개발을 할 때에도 서로 어떠한 작업을 하고 있는지 kakao work로 알 수 있도록 하였다.
  2. 협업 방법: 애자일
    • 데일리 스크럼:
      • 주 5일, 매일 오전 10시에 "어제 뭐 했고, 오늘은 무엇을 하겠다" 와 같이 나눈 후 각자 개발에 착수했다.
      • 기능 구현을 시작할 때나 완료하였을 때는 기술 스택은 어떤 것을 사용했고, 왜 사용했는지 등에 대해 구체적으로 나누었으며, 더 좋은 방안은 없는지 팀원들의 피드백을 수렴했다.
    • 스프린트:
      • GitHubIssue를 활용.
      • 1주 ~ 4주의 기간동안 스프린트를 진행했다.
      • 스프린트가 시작되는 날에는 스프린트 회의를 통해 공동의 목표를 세우고 기간을 설정했다.
      • 스프린트가 끝나면 스프린트 리뷰를 통해 해당 스프린트의 좋았던 점과 아쉬웠던 점 그리고 결과물을 공유했다.
      • 공동의 목표가 세워지면 큰 목표를 달성하기 위한 작은 목표를 다시 세우고 인원을 분배했다.
      • 개개인이 주도적으로 자신의 개발 프로세스를 선정하고 스프린트(Issue) 를 작성했다.
      • 스프린트 는 프로젝트 칸반보드의 ToDo가 되었으며, 이를 각 팀원이 직접 오늘 할 일을 지정하여 In Progress로 옮겨 작업하였다.
      • 팀원이 미처 발견하지 못한 Issue가 있을 경우에는 회장 오창훈 / 부회장(프론트 팀장) 민순기 / 백엔드 팀장 이석호 가 최종 스프린트를 작성하였다.
    • 기술 공유:
      • 스프린트로 작성된 Issue에 어떻게 구현하였는지 기록함으로써 팀원이 함께 성장할 수 있었으며, 이러한 자료는 후배 기수들에게도 좋은 자료와 모범이 될 수 있었다.
      • 테크톡을 2주에 1번씩 진행하였다.
        • 개개인이 CS지식을 전문가가 될 정도로 공부한 뒤 강의하기 때문에 팀원 모두가 보다 효율적으로 다양한 CS 지식을 습득할 수 있었다.

협업1 협업2