Skip to content

사회적 약자의 건강을 위한 약 복용 알림 서비스

Notifications You must be signed in to change notification settings

prgrms-be-devcourse/NBE2_2_Team9

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💊 Pill-Buddy

Pill-Buddy는 사용자가 매일 복용해야 할 약이나 영양제를 관리하고, 복용 시간에 맞춰 알림을 받을 수 있도록 돕는 서비스입니다.
사용자는 보호자를 추가하여 약 복용 여부를 확인하고 관리할 수 있으며, 식품의약품안전처의 공공 API 를 통해 약의 주요 정보들을 조회할 수 있습니다.


👬 팀 소개

Backend Backend Backend Backend Backend
진우 홍제 성겸 현우 소희
이진우 (팀장) 안홍제 김성겸 신현우 양소희
프로젝트 총괄 관리
팀원 간 소통 조율
보호자 기능 구현
Github 관리
회원 관리 기능 구현
JWT 인증 로직 구현
프로젝트 기획
사용자 기능 구현
프로젝트 기획
e약은요 API를 통해 약 정보 검색 기능 구현
프로젝트 기획
coolsms API를 통해 알림 기능 구현

🛠️ 개발 환경

image

💻 프로젝트 구조

프로젝트 구조 보기(눌러서 보기)
├── java
│   └── com
│       └── medinine
│           └── pillbuddy
│               ├── PillBuddyApplication.java
│               ├── domain
│               │   |
│               │   ├── medicationApi # 약 정보 검색
│               │   │   ├── controller
│               │   │   │   └── MedicationApiController.java
│               │   │   ├── dto
│               │   │   │   ├── JsonForm.java
│               │   │   │   ├── MedicationDTO.java
│               │   │   │   └── MedicationForm.java
│               │   │   ├── entity
│               │   │   │   └── Medication.java
│               │   │   ├── repository
│               │   │   │   └── MedicationApiRepository.java
│               │   │   └── service
│               │   │       └── MedicationApiService.java
│               │   │
│               │   │
│               │   ├── notification # 알림
│               │   │   ├── controller
│               │   │   │   └── NotificationController.java
│               │   │   ├── dto
│               │   │   │   ├── NotificationDTO.java
│               │   │   │   └── UserNotificationDTO.java
│               │   │   ├── entity
│               │   │   │   └── Notification.java
│               │   │   ├── provider
│               │   │   │   └── SmsProvider.java
│               │   │   ├── repository
│               │   │   │   └── NotificationRepository.java
│               │   │   └── service
│               │   │       └── NotificationService.java
│               │   │
│               │   │
│               │   ├── record # 복용 기록
│               │   │   ├── dto
│               │   │   │   └── RecordDTO.java
│               │   │   ├── entity
│               │   │   │   ├── Record.java
│               │   │   │   └── Taken.java
│               │   │   ├── repository
│               │   │   │   └── RecordRepository.java
│               │   │   └── service
│               │   │       ├── RecordService.java
│               │   │       └── RecordServiceImpl.java
│               │   │
│               │   │
│               │   ├── user # 회원
│               │   │   ├── caregiver # 보호자 
│               │   │   │   ├── controller
│               │   │   │   │   └── CaregiverController.java
│               │   │   │   ├── entity
│               │   │   │   │   └── Caregiver.java
│               │   │   │   ├── repository
│               │   │   │   │   └── CaregiverRepository.java
│               │   │   │   └── service
│               │   │   │       └── CaregiverService.java
│               │   │   |
│               │   │   |
│               │   │   ├── caretaker # 사용자
│               │   │   │   ├── controller
│               │   │   │   │   └── CaretakerController.java
│               │   │   │   ├── dto
│               │   │   │   │   └── CaretakerCaregiverDTO.java
│               │   │   │   ├── entity
│               │   │   │   │   ├── Caretaker.java
│               │   │   │   │   └── CaretakerCaregiver.java
│               │   │   │   ├── repository
│               │   │   │   │   ├── CaretakerCaregiverRepository.java
│               │   │   │   │   └── CaretakerRepository.java
│               │   │   │   └── service
│               │   │   │       ├── CaretakerService.java
│               │   │   │       └── CaretakerServiceImpl.java
│               │   │   |
│               │   │   |
│               │   │   ├── controller
│               │   │   │   ├── AuthController.java
│               │   │   │   └── UserController.java
│               │   │   ├── dto
│               │   │   │   ├── JoinDto.java
│               │   │   │   ├── LoginDto.java
│               │   │   │   ├── UserDto.java
│               │   │   │   ├── UserPasswordUpdateDto.java
│               │   │   │   ├── UserType.java
│               │   │   │   └── UserUpdateDto.java
│               │   │   ├── entity # 회원 공통
│               │   │   │   ├── Role.java
│               │   │   │   └── User.java
│               │   │   |
│               │   │   |
│               │   │   ├── profile # 프로필 이미지 관련
│               │   │   │   ├── controller
│               │   │   │   │   └── ProfileController.java
│               │   │   │   ├── dto
│               │   │   │   │   └── ProfileUploadDto.java
│               │   │   │   ├── entity
│               │   │   │   │   └── Image.java
│               │   │   │   ├── repository
│               │   │   │   │   └── ImageRepository.java
│               │   │   │   └── service
│               │   │   │       ├── ProfileService.java
│               │   │   │       └── uploader
│               │   │   │           ├── CaregiverProfileUploader.java
│               │   │   │           ├── CaretakerProfileUploader.java
│               │   │   │           └── ProfileUploader.java
│               │   │   └── service
│               │   │       ├── AuthService.java
│               │   │       ├── CustomUserDetails.java
│               │   │       ├── MyUserDetailsService.java
│               │   │       └── UserService.java
│               │   │
│               │   │
│               │   └── userMedication # 사용자 약 정보
│               │       ├── controller
│               │       │   └── UserMedicationController.java
│               │       ├── dto
│               │       │   └── UserMedicationDTO.java
│               │       ├── entity
│               │       │   ├── Frequency.java
│               │       │   ├── MedicationType.java
│               │       │   └── UserMedication.java
│               │       ├── repository
│               │       │   └── UserMedicationRepository.java
│               │       └── service
│               │           ├── UserMedicationService.java
│               │           └── UserMedicationServiceImpl.java
│               │
│               │
│               └── global
│                   ├── advice # 예외 처리
│                   │   └── GlobalExceptionHandler.java
│                   │
│                   ├── config # 설정 관련
│                   │   ├── RedisConfig.java
│                   │   ├── SecurityConfig.java
│                   │   └── SwaggerConfig.java
│                   │
│                   ├── entity # 공통 엔티티
│                   │   └── BaseTimeEntity.java
│                   │
│                   ├── exception # 예외 관련
│                   │   ├── ErrorCode.java
│                   │   ├── ErrorResponse.java
│                   │   └── PillBuddyCustomException.java
│                   │
│                   ├── jwt # JWT 관련
│                   │   ├── JwtAccessDeniedHandler.java
│                   │   ├── JwtAuthenticationEntryPoint.java
│                   │   ├── JwtAuthenticationFilter.java
│                   │   ├── JwtToken.java
│                   │   └── JwtTokenProvider.java
│                   │
│                   ├── redis
│                   │   └── RedisUtils.java
│                   │
│                   └── util
│                       └── UploadUtils.java
│                   
└── resources
    ├── application-db.yml
    └── application.yml

🔗 ER Diagram

ERD

⭐️ Class Diagram

image

👨🏻‍💻 Sequence Diagram

🔐 로그인

로그인시퀀스

♻️ 토큰 재발급

재발급시퀀스

💌 알림 전송

알림시퀀스

💊 약 정보 검색

약검색시퀀스

About

사회적 약자의 건강을 위한 약 복용 알림 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages