TaskFlow는 팀 기반의 작업 관리 플랫폼으로, 효율적인 협업과 프로젝트 관리를 위한 백엔드 API 서비스입니다.
프론트엔드와 연동하여 회원 관리, 작업 관리, 팀 관리, 대시보드 등의 핵심 기능을 제공합니다.
Frontend Demo: 웹사이트 🔗
ERD: 사진 링크 🔗
- 회원가입 및 로그인
- 사용자 프로필 관리
- JWT 기반 인증 시스템
- 작업 생성, 조회, 수정, 삭제
- Soft Delete 방식의 안전한 데이터 관리
- 작업 상태 추적 및 관리
- 팀 생성 및 관리
- 팀원 초대 및 권한 관리
- 팀 기반 작업 협업
- 작업별 댓글 기능
- 실시간 커뮤니케이션 지원
- 통합 검색 기능 (작업/사용자/팀)
- 작업 현황 대시보드
- 데이터 시각화를 위한 API 제공
- 사용자 활동 추적
- 시스템 로그 관리
taskflow-backend/
├── src/
│ ├── main/
│ │ ├── java/org/example/taskflowd/
│ │ │ ├── common/
│ │ │ │ ├── annotation/
│ │ │ │ ├── config/
│ │ │ │ ├── dto/
│ │ │ │ ├── entity/
│ │ │ │ ├── enums/
│ │ │ │ ├── exception/
│ │ │ │ ├── security/
│ │ │ │ └── util/
│ │ │ ├── domain/
│ │ │ │ ├── activityLog/
│ │ │ │ ├── comment/
│ │ │ │ ├── dashboard/
│ │ │ │ ├── search/
│ │ │ │ ├── task/
│ │ │ │ ├── team/
│ │ │ │ └── user/
│ │ │ └── TaskflowDApplication.java
│ │ └── resources/
│ │ ├── application.yml
│ └── test/
| 도메인 | 기능 | 설명 |
|---|---|---|
| User | 회원가입 / 로그인 / 프로필 페이지 연동 | 사용자 인증 및 프로필 관리 |
| Task | Task 조회 / 생성 / 수정 / 삭제(soft delete) | 작업 생명주기 관리 |
| Comment | 댓글 작성 / 조회 / 수정 / 삭제 | 작업별 댓글 시스템 |
| Team | 팀 생성 / 조회 / 수정 / 삭제 / 멤버 관리 | 팀 및 멤버십 관리 |
| Dashboard | 작업 / 유저 / 팀 현황 대시보드 | 통합 대시보드 및 통계 |
| Search | 통합 검색 (작업/사용자/팀) | 전체 검색 및 필터링 기능 |
| ActivityLog | 사용자 활동 추적 및 로그 관리 | 시스템 활동 기록 및 감사 |
- JSON 기반 REST API: 프론트엔드와의 표준화된 통신
- 요청/응답 DTO: 데이터 전송 최적화
- 입력 데이터 검증(Validation): 안전한 데이터 처리
- Java 17 이상
- MySQL 8.0 이상 (운영환경)
- H2 Database (개발환경)
- Gradle
-
저장소 클론
git clone https://github.com/axios-nbc/taskflow-backend.git cd taskflow-backend -
데이터베이스 설정
# application.yml 설정 spring: datasource: url: jdbc:mysql://localhost:3306/taskflow username: your_username password: your_password
-
애플리케이션 실행
# Gradle 사용시 ./gradlew bootRun -
개발환경 실행 (H2 Database)
# H2 콘솔: http://localhost:8080/h2-console ./gradlew bootRun --args='--spring.profiles.active=dev'
# 단위 테스트 실행
./gradlew test
# 통합 테스트 포함
./gradlew check
# 테스트 커버리지 확인
./gradlew jacocoTestReport- JWT 기반 인증: 상태 비저장 인증 시스템
- BCrypt 암호화: 안전한 비밀번호 해싱
- Spring Security: 종합적인 보안 프레임워크
- 입력 검증: 악성 데이터 차단
- Spring Boot Actuator: 애플리케이션 헬스 체크
- 활동 로그: 사용자 행동 추적
- 에러 핸들링: 체계적인 예외 처리
이 프로젝트에 기여하고 싶으시다면, 다음 가이드라인을 따라주세요:
- 저장소를 포크(Fork)합니다.
- 새로운 기능 또는 버그 수정을 위한 브랜치를 생성합니다 (
git checkout -b feature/your-feature-name). - 변경 사항을 커밋하고 푸시합니다.
- Pull Request를 생성하여 변경 사항을 설명합니다.
이 프로젝트는 MIT 라이센스를 따릅니다. 자세한 내용은 LICENSE 파일을 참조하세요.
프로젝트 관련 문의사항이 있으시면 Issues 페이지를 이용해주세요.
Built with ❤️ by Axios Team