1부에서는 라라벨의 주요 기능을 알아 보았고 2부에서는 앞에서 배운 기능을 활용하여 실제 웹 애플리케이션을 만들도록 하겠습니다.

 

이번 장에서 우리가 만들 애플리케이션은 개인마다 프로젝트를 등록하고 할 일을 관리할 수 있는 서비스인 투두로그(todolog) 입니다.

 

서비스 개요

투두로그에서 제공할 기능들은 다음과 같습니다.

  • 서비스를 사용할 사용자의 등록 및 프로필 변경
  • 등록된 사용자의 로그인/로그아웃 및 외부 SNS 를 연동한 로그인/로그아웃
  • 프로젝트 등록 및 수정/삭제
  • 프로젝트마다 할 일 등록 및 수정/삭제
  • 완료되지 않은 할 일의 경우 만료 기한 전에 통보하는 기능

 

사용하는 기술 요소는 다음과 같습니다.

  • Eloquent ORM 
  • Validation - 사용자 입력 값을 서버 측에서 검증 및 상황에 맞는 에러 메시지 출력
  • Socialite - 소셜 네크워크 서비스(SNS)를 이용하여 사용자 인증하는 https://github.com/laravel/socialite 컴포넌트
  • Postman - 구글 크롬 브라우저의 플러그인으로 HTTP Request/Response 를 추적할수 있으며 REST API 개발시 편리한 디버깅을 제공합니다.
  • Session - HTTP 는 상태가 없는 프로토콜이므로 로그인 정보등 지속적으로 유지해야 하는 정보를 세션을 통해 관리
  • jQuery - 자바스크립트 라이브러리
  • 이메일 전송 - swiftmailer 를 래핑한 라라벨의 이메일 기능을 사용하여 이메일 전송
  • 작업 스케쥴링 - 만료 기한이 지정된 할일에 대해 메일로 통보
  • 레디스(Redis) - 키/밸루 서버로 서버 측 세션 데이타 저장 및 메인 화면에서 전체 사용자와 프로젝트의 갯수를 빠르게 표시하기 위해 사용
  • 아마존 S3 (Amazon Simple Storage Service) - 사용이 쉽고 내구성과 확장성이 뛰어난 클라우드 기반의 객체 스토리지

주의사항

  • PSR-1(Basic Coding Standard) 에 따라 모든 소스 파일의 인코딩은 BOM(Byte Ordering Mark)가 없는 UTF-8 을 준용해야 한글 문제가 없으며 이를 위해서 사용하는 에디터나 IDE 의 기본 인코딩을 UTF-8 로 설정합니다.