Skip to content

springrunner/mastering-spring-web-101

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

코드로 익히는 스프링 웹 프로그래밍(부제: Mastering Spring Web 101 Workshop)

이 프로젝트는 코드로 익히는 스프링 웹 프로그래밍 강좌를 위해 만들어진 Todoapp 웹 애플리케이션입니다.

코드로 익히는 스프링 웹 프로그래밍은 Spring MVCSpring Boot로 웹 애플리케이션 서버 사이드(Server-side)를 직접 개발·실습하며 학습하는 워크숍 형식의 강좌입니다. 참가자는 제공된 애플리케이션 정의서, Web API 명세서, 그리고 템플릿 프로젝트를 바탕으로 Todoapp 웹 애플리케이션의 서버 사이드를 구축하게 됩니다. 강사가 라이브 코딩과 함께 스프링의 기능을 설명하면, 참가자는 해당 코드를 직접 작성하고 실행·테스트하며 완전한 웹 애플리케이션을 완성하게 됩니다.

강좌에 대한 자세한 소개는 여기에서 볼 수 있습니다.

I. Todoapp

Todoapp 웹 애플리케이션은 할일 목록 기능을 제공하는 웹 애플리케이션입니다. 사용자는 할일을 추가, 완료, 삭제 및 수정할 수 있으며, 할일을 CSV 파일로 다운로드 받을 수 있습니다. 추가적으로 사용자 로그인 및 로그아웃, 프로필 이미지 변경 기능을 포함합니다.

요구사항

기능

  • 할일 관리
    • 사용자는 할일 목록을 조회할 수 있습니다.
    • 사용자는 완료 여부로 할일 목록을 필터링할 수 있습니다.
    • 사용자는 새로운 할일을 등록할 수 있습니다.
    • 사용자는 등록된 할일을 변경할 수 있습니다.
    • 사용자는 등록된 할일을 완료할 수 있습니다.
    • 사용자는 등록된 할일을 취소할 수 있습니다.
    • 사용자는 완료된 할일을 정리할 수 있습니다. (정리 시점의 모든 완료된 할일이 대상입니다)
    • 사용자는 할일을 CSV 파일로 다운로드 받을 수 있습니다. (다운로드 시점의 모든 할일이 포함됩니다)
  • 사용자 관리
    • 사용자는 자신의 계정으로 로그인할 수 있습니다.
    • 사용자는 로그아웃할 수 있습니다.
    • 사용자는 자신의 프로필 이미지를 업로드하고 변경할 수 있습니다.

비기능

  • 코드베이스는 모듈화되고 잘 주석 처리되어 있어야 합니다.
  • 사용자 비밀번호는 해시 및 암호화하여 저장해야 합니다.
  • 오류가 발생했을 때 사용자에게 친절하게 안내해야 합니다.
  • 보안이 필요한 API 엔드포인트는 인증 및 인가 절차를 거쳐야 합니다.
  • 애플리케이션은 사용자가 증가함에 따라 수평적으로 확장 가능해야 합니다.

클라이언트 사이드(Client-side)

Todoapp 웹 애플리케이션의 클라이언트 사이드는 웹 기술(HTML, CSS, JavaScript)을 기반으로 만듭니다.

서버 사이드(Server-side)

Todoapp 웹 애플리케이션의 서버 사이드는 자바(Java)와 스프링(Spring)을 기반으로 만듭니다.

II. 빌드 및 실행 방법

저장소를 복제하거나 압축 파일로 다운로드한 후 터미널에서 도커 컴포즈로 실행할 수 있습니다.

❯ docker compose up --build -d

도커 컨테이너가 구성되면, http://localhost:50080/ 으로 접속해서 접속이 되는지 확인합니다.

III. 라이선스

저장소 내 모든 내용은 MIT 라이선스로 제공됩니다.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published