선발대

2022년 05월 회고: DRF 공부를 해보자 본문

사담/WIL

2022년 05월 회고: DRF 공부를 해보자

신선한 스타트 2022. 5. 30. 10:46
5월에 이런 일들이 있었다

 

 

수료식을 하기 전에 이전에 같은 팀원이셨던 분이 오셔서 스터디 생각이 있는지 여쭤보셨다.

사실 백엔드 개발자로 취업을 준비하고 있지만 아직 부족한 점이 많기도 했고,

특히 대부분의 Django 채용공고는 Django Rest Framework를 사용하는 곳이 많아서 따로 공부가 필요했다.

 

그래서 2명 스터디로 생각하고 있다가, 마지막에 2분이 더 합류하셔서 총 4명의 스터디가 되었다.

우선 기본적인 목표는 알고리즘 공부와 토이프로젝트 진행이었다.

평일은 아침 10시에 다같이 게더타운에 모여 알고리즘 스터디를 하고, 프로젝트 회의를 진행했다.

알고리즘은 하루 2문제씩 풀이했고, 점점 시간이 지나면서 높은 난이도의 문제를 풀도록 미리 문제를 정해뒀다.

 

마침 스파르타코딩클럽에서 제1회 코딩공모전을 개최해서 참가하기로 했다.

프론트엔드 2명, 백엔드 2명(나포함)으로 구성된 팀이었기 때문에 각자 기술 스택을 정해서 학습하기로 했다.

모두 이번에 처음 써보는 기술들이라 학습할 시간이 넉넉하게 필요했다.

 

프론트엔드 팀은 React를 사용하기로 했는데, Udemy에 리액트 베스트셀러 강의가 있어서 그걸 선택했다.

그리고 문제는 DRF를 사용하는 백엔드 팀이었다. Django ninja는 써봤지만 DRF는 한번도 안 써봤다.

아무래도 Django 기반이라서 그런가? Django 강의는 많은데 DRF는 의외로 없었다.

serializer에 대한 개념을 좀 더 쌓고 싶은데, 공식 문서를 더 참고해야겠다.

 


프로젝트 소개

 

프로젝트 일정: 2022.05.02.(월) ~ 2022.05.23.(금) / 총 22일

중간발표: 2022.05.13.(금)

최종발표: 2022.05.23.(월)

 

프로젝트 이름: RoutineWave(루틴웨이브)

프로젝트 팀명: 4-in-dev(포인데브)

웹사이트: https://routinewave.netlify.app/

 

기획 배경 및 의도

 

  • 사용자의 일일 및 월간 일정을 손쉽게 세울 수 있는 서비스입니다.
  • 사용자가 최대한 직관적으로 이용할 수 있도록 구현했습니다.
  • 일정 관리 서비스에 '능력치'라는 사항을 넣어, 사용자들의 일정 완료를 유도합니다.
  • 프론트엔드는 React, 백엔드는 Django Rest Framework 숙련도를 높이고 사용법을 학습하기 위한 프로젝트입니다.
  • 스파르타코딩클럽 코딩 공모전에 제출한 프로젝트입니다.

 

서비스 타겟

 

  • 하루 일정을 시각화해서 확인하고 싶은 사람
  • 데스크탑 이용을 장시간 하는 사람
  • 계획을 지속적으로 수행하고 성취감을 느끼고 싶은 사람

 

기대효과

 

  • 자신의 달성도를 재미있는 능력치 형태로 확인하면서 동기 부여
  • 손쉬운 시간표 일정 등록
  • 지인과 일정을 공유하면서 동기부여
  • 롤모델의 일정을 체험해보면서 닮고 싶은 욕구 충족

 

내가 담당한 기능

 

  • 회원가입
  • 로그인, 로그아웃
  • 비밀번호 수정
  • 프로필 사진, 닉네임 수정
  • 30일 이내의 성취여부(Boolean)를 기준으로 등급 나누기
  • 6개의 능력치 카테고리에 속한 성취여부(Boolean)로 비중 구하기

 


 

메인페이지

 

스파르타코딩클럽 공모전 페이지에 올라왔다!

 

 

후기

 

  • 총 3주의 프로젝트 기간 중 2주를 DRF 학습에 썼다. 기능 구현은 거의 1주일만에 한 듯하다.
  • 생각보다 공식 문서만 보고 개념을 처음부터 잡는게 어려웠다. (좀 더 단순하게 했다면 좋았을텐데)
  • 백엔드는 API 결과가 잘 나오는지 확인하고 프론트엔드로 넘겨준다.
  • '백엔드를 위한 Django REST Framework with 파이썬(권태형 저)' 책을 좀 더 일찍 볼 걸 그랬다.
  • 초반에 팀원들끼리 구현하고 싶은 기능이 많았는데 그러지 못해 아쉬웠다. 리팩토링이 필요하다.
  • serializer는 간단했다. 클라이언트와 서버 API 간 데이터 양식을 맞춰주는 변환기임. (JSON - 파이썬 데이터 객체)
  • serializer는 validator 기능도 있어서 편리하다.
Comments