issues
search
dryben
/
daily
무슨 생각을 해... 그냥 하는거지
0
stars
0
forks
source link
웹서비스 신규 구축 후기
#8
Open
dryben
opened
5 years ago
dryben
commented
5 years ago
서비스 개요
프론트, 어드민 구성
프론트 기능 : 로그인, 리스트 조회 페이지 3개, form 처리 페이지 1개
어드민 기능 : 사용자 계정/그룹 생성 및 관리, DB 현황 조회 등
집중 개발 기간은 2달 정도
베타오픈 완료 : 사용자 계정 20개 내외
프레임워크, 라이브러리
미션 : 이미 있는 걸 최대한 가져다쓰자
백엔드/어드민 :
DJANGO
REST API :
DJANGO REST FRAMEWORK
프론트엔드 :
REACTJS
리액트 테마(bootstrap) :
https://demos.creative-tim.com/paper-dashboard-react
리액트 테이블(v6) :
https://github.com/tannerlinsley/react-table/tree/v6
docker-compose로 장고와 리액트, postgrsql까지 3개의 컨테이너를 관리
장고도 처음, 리액트도 처음이라 공부하면서 개발
DJANGO
최신버전 2.2를 썼다.
우선 혼자서 웹서비스 하나를 처음부터 개발하는 것이 처음이었다. 그래서 쉬워야 했음..
백엔드의 데이터처리 모듈을 파이썬으로 다루기 때문에 웹 프레임워크도 파이썬 계열 중에서 고르기로 했다.
파이썬 웹 프레임워크 중에 DJANGO의 문서가 가장 쉬우면서 잘 와닿아서 선택했다.
자바-스프링, 노드-익스프레스, 고-에코 등의 프레임워크를 써봤는데 DJANGO가 압도적으로 친절했다.
DJANGO 문서는 개발하면서도 계속 찾아보게 될 정도로 실용성도 잘 갖추었다고 생각한다.
템플릿 안쓰고 클라이언트와 API로 통신하기 위해 DRF를 추가로 사용했다.
DJANGO ADMIN 👍
DJANGO로 프로젝트를 생성하면 ADMIN이 기본으로 세팅되는데 이게 생각보다 너무 편리했다.
user, group 같은 도메인은 어느 서비스나 있고 비슷비슷한데 DJANGO는 기본적으로 테이블까지 만들어줘서 그대로 썼다.
ADMIN은 관리자만 쓰기 때문에 대충 만들게 되는 경향이 있는데 그렇게 만드는 것보다 확실히 나은 퀄리티를 제공하니까 안 쓸 이유 없다.
커스터마이징도 간편하다. 예를들어 어드민에서 리스트를 조회할 때, 특정 DB필드가 true인지 false인지 구분해서 조회하고 싶으면
필터 관련 코드 한두줄만 추가하면 된다.
REACT
Hooks가 또 힙해보여서 최신버전 16.8을 썼다.
자바스크립트도 아니고 HTML도 아닌 문법을 써야해서 조금 혼란스러운 시기를 보내야 했다.
프론트엔드 개발하다보면 데이터를 받고, 그 데이터를 검증하고, UI에 적용하고, 적용된 상태를 또 어떻게 데이터로 다룰것인지 흐름을 잘 짜야 하는데.. 이 부분을 리액트가 잘 케어해주는 느낌이 들었다.
리액트도 리액트지만 리액트 컴포넌트 방식으로 구현된 테마와 테이블 소스를 적절히 사용했더니 확실히 유지보수에 있어 가뿐한 느낌이 들었다.
혼자서 개발해서 그런지 혼자 이해한 만큼만 개발했는데, 만약 협업자가 있고 서로 스타일이 다르면 또 혼란이 생겼을 것 같고..
결론
DJANGO는 내가 써본 프레임워크 중 가장 쉽고 편리했다. 어드민을 기본으로 제공하는 걸 처음봐서 더 좋았고..
REACT에 대한 입장은 조금 반반. 분명 러닝커브가 있지만, 그 초기 학습단계를 잘 지나고 모듈 디자인도 잘 하면 유지보수가 그만큼 간편해질 것 같다.
레퍼런스
도커컴포즈
https://www.44bits.io/ko/post/almost-perfect-development-environment-with-docker-and-docker-compose
장고&리액트
https://www.digitalocean.com/community/tutorials/how-to-build-a-modern-web-application-to-manage-customer-information-with-django-and-react-on-ubuntu-18-04
https://justmakeyourself.tistory.com/entry/django-connect-react
https://github.com/milooy/react-django-pwa-kit
장고&리액트 인증
http://v1k45.com/blog/modern-django-part-4-adding-authentication-to-react-spa-using-drf/
리액트 훅스
https://velog.io/@velopert/react-hooks
리액트스트랩
https://reactstrap.github.io/components/
서비스 개요
프레임워크, 라이브러리
미션 : 이미 있는 걸 최대한 가져다쓰자
DJANGO
최신버전 2.2를 썼다.
DJANGO ADMIN 👍
REACT
Hooks가 또 힙해보여서 최신버전 16.8을 썼다.
결론
레퍼런스