
<React.js, 스프링 부트, AWS로 배우는 웹 개발 101>(김다정 지음)을 따라 TO-DO 앱을 하나 만들 예정이다.
앞으로 쓸 대부분의 포스팅(이미지/글)은 위의 서적을 참고/출처로 작성되었음을 미리 밝힌다.
TO-DO 앱의 기능
- Todo 생성 : + 버튼을 클릭해 Todo 아이템을 생성할 수 있다.
- Todo 리스트 : 생성된 아이템 목록을 화면에서 확인할 수 있다.
- Todo 수정 : Todo 아이템을 체크하거나 내용을 수정할 수 있다.
- Todo 삭제 : Todo 아이템을 삭제할 수 있다.
- 회원가입 : 사용자는 애플리케이션에 회원가입하고 생성된 계정을 이용해 Todo 애플리케이션에 접근할 수 있다.
- 로그인 : 계정을 생성한 사용자는 계정으로 로그인할 수 있다.
- 로그아웃 : 로그인한 사용자는 로그아웃할 수 있다.
TO-DO 웹 애플리케이션의 아키텍쳐
- 나는 아직 아키텍쳐가 익숙지 않으므로 잘 봐두자

- 프론트/백 서버기 분리되어 있다.
- 브라우저는 백엔드의 REST API를 이용해 HTTP 요청을 보낸다.
- (이 책에서는 웹 어플을 로컬이나 EC2가 제공하는 퍼블릭 도메인을 이용해 배포하는데서 그치지 않는다. 실제 프로덕션에서 어플을 운영하는데 필요한 기술과 어플의 스케일링에 몇 가지 기술을 구현한다. 로드밸런서 / 오토 스케일링 그룹 / 도메인 등록 및 HTTPS 설정 등)
내가 사용할 기술 스택
- HTML/CSS/React.js : 프론트엔트 애플리케이션 개발용. 프론트엔드 애플리케이션은 프론트엔드 클라이언트를 반환하는 서버를 두고 있다. 이 서버의 역할은 React.js 애플리케이션을 반환하는 것.
- 스프링부트 : 백엔드 애플리케이션 개발용. 여기서는 스프링부트로 REST API를 구현하고, 이 API를 프론트 쪽 어플이 사용한다. 만약 웹용 앱을 만들고 모바일 앱을 만든다고 가정하면, 별도의 백엔드 개발 없이 이 API를 사용하면 된다. 즉 마이크로서비스 아키텍처로 서비스를 확장하는데 용이하다.
- AWS : 프/백 앱이 실행될 프로덕션 환경을 구축하는데 사용한다. AWS 내에서 필요한 모든 것을 구축할 수 있다고 하는데.. 신기하다.