나의 to do를 친구들과 공유할 수 있는 웹사이트
1인 개발로 진행중인 Tell me to do는 Spring Boot 기반의 프로젝트 입니다.
단순히 개인의 to-do를 관리하는 기능 외에도 다른 유저와의 to-do 공유를 위해 로그인 기능이 필요합니다. 이를 위해 Spring Security를 사용하여 사용자 인증을 구현하였습니다. 또한 객체 지향적인 설계를 위해 JPA를 선택하여 데이터베이스와의 상호작용을 구현하였으며 동적 쿼리를 편리하게 작성하고 가독성을 높이기 위해 queryDSL도 활용하였습니다.
- 2024.03 ~ 개발 중
[develop]
back-end : Java(jdk-21), SpringBoot 3.2.3, Spring Security, Junit5, Thymeleaf
database : JPA, queryDSL, PostgreSQL
front-end : JavaScript, Bootstrap
[tool & design]
개발 도구 : IntelliJ IDEA
디자인 : Figma
DB 설계 : ERDCloud
** 구현에 따라 지속적으로 변경이 일어나고 있습니다. 최신 ERD는 링크에서 확인 가능합니다.
도메인 패키지 구조를 선택했습니다. Entity를 기반으로 패키징하여 직관적으로 개발하기 쉽게 만들고자 했습니다.
[최상위 레벨 패키지]
domain : entity를 기준으로 하위 패키지 구성
global : 프로젝트 전방위적으로 사용할 수 있는 클래스들로 구성
도메인 | URL |
---|---|
메인 | / |
로그인 | /login |
회원가입 | /join |
프로필 | profile/:nickname |
REST API 설계 기본 원칙에 따라 설계하였습니다.
-
로그인을 안해도 사이트 이용이 가능했으면 좋겠다.
(이유 : 사이트에 만족하고, 추가 기능 사용을 원할 때 회원가입을 자유롭게 하도록!) -
/profile
에서는 내가 작성한 todo-list를 필요한 날짜만 선택해서 볼 수 있어야 한다.
(이유 : to-do 들이 늘어져 있으면 UI가 좋지 않다.)
- 비회원의 to do 기능 구현
- guest 로그인 기능으로 to do 관련 API 구현
- 로그인/회원가입
- 프로필 페이지 (현재 진행중)
- 다른 유저와 상호작용