Skip to content

BDD 1기 프로젝트 두레(DooRe)의 백엔드 레파지토리입니다.

License

Notifications You must be signed in to change notification settings

BDD-CLUB/01-doo-re-back

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6aa2662 · Aug 2, 2024

History

89 Commits
Mar 1, 2024
Jan 12, 2024
Aug 2, 2024
Jan 17, 2024
Feb 2, 2024
Jan 11, 2024
Apr 16, 2024
Mar 14, 2024
Jan 12, 2024
Jan 12, 2024
Jan 16, 2024
Jan 12, 2024

Repository files navigation

image

01-doo-re-back

BDD 1기 프로젝트 두레(DooRe)의 백엔드 레파지토리입니다.

두레(DooRe)는 팀이 함께 협업하여 다른 팀과 경쟁하기 위한 팀간 경쟁 서비스로, 주민들이 마을 단위로 둔 공동 노동 조직 '두레'에서 이름을 따왔습니다.

  • 경쟁: Github의 잔디를 모티브로 한 '텃밭'이 팀별로 존재 하며, 이름 지표로 팀 랭킹이 매겨집니다.
  • 협업: 팀원들은 스터디, 학습자료 업로드 등의 활동을 통해 팀의 '텃밭'에 기여할 수 있습니다.
  • 포토폴리오: '스터디 카드'를 통해 회원이 참여했던 스터디에서 개인이 착습한 내용과 업로드한 학습 자료를 정리된 레이아웃으로 제공합니다.

운영서버: https://www.doore.kro.kr
Rest Docs: https://www.doore.kro.kr/docs/doore.html

🧑🏻‍💻 기획 & 개발

임연후 이수빈 손현경 송세연 이지민
lcqff
lcqff

02ggang9
02ggang9

shkisme
shkisme

amaran-th
amaranth

JJimini
JJimini

✏️ 기술 스택

Language

Jdk 17 Java

Dependancy

Spring Boot 3.2.1 Spring Rest Docs Spring Data Jpa Lombok Spring Web Validation Jwt JUnit5 Mockito

Database

Mysql 8.0 Redis

Tool

Gradle IntelliJ

🖥️ Structure

─ src
   ├─ main
   │  ├─ java
   │  │  └─ doore
   │  │     ├─ DooreApplication.java
   │  │     ├─ base
   │  │     │  ├─ BaseEntity.java
   │  │     │  ├─ BaseException.java
   │  │     │  └─ BaseExceptionType.java
   │  │     ├─ crop
   │  │     ├─ garden
   │  │     ├─ member
   │  │     ├─ study
   │  │     └─ team
   │  │        ├─ api
   │  │        ├─ application
   │  │        │  └─ dto
   │  │        ├─ domain
   │  │        │  └─ repository
   │  │        └─ exception
   │  │           ├─ TeamException.java
   │  │           └─ TeamExceptionType.java
   │  └─ resources
   │     ├─ application.yml
   │     └─ schema.sql
   └─ test

✋ 역할 분담

임연후(팜)

  • BackEnd: 스터디 CRUD, 참여자 CRUD, S3 파일 저장, 학습자료 CRUD, RestDocs 세팅, Cors 설정

송세연 (아마란스)

  • BackEnd: 소셜 로그인, 팀원 목록 조회 및 검색
  • Infra: 배포 서버 CICD 작성, 운영서버 Redis 세팅

이수빈(짱구)

  • Infra: CICD 파이프라인 구축, 백엔드 서버 도커 파일 작성, HTTPS 적용, CICD 캐싱 적용, CICD DB Docker 고도화, YML 서브모듈 도입, NGINX 설정

이지민(미나)

  • BackEnd: 커리큘럼 CRUD, 커리큘럼 관리

손현경(보름)

  • BackEnd: S3 이미지 저장, 팀원 초대 링크 생성, 팀원 추가
  • Infra: CICD 파이프라인 구축, 백엔드 서버 도커 파일 작성

🌱 Features

소셜 로그인

  • 구글 계정을 통한 소셜 로그인을 지원합니다. 구글 계정만 있다면 누구나 두레에 가입할 수 있습니다.
소셜 로그인

팀 랭킹

  • 텃밭: Github의 잔디를 모티브로 한 '텃밭'이 팀별로 주어지며, 이름 지표로 팀 랭킹이 매겨집니다.
  • 협업: 팀원들은 스터디, 학습자료 업로드 등의 팀 활동을 통해 팀의 '텃밭'에 기여할 수 있습니다.
  • 1위부터 10위까지의 팀이 메인 페이지에 표시됩니다.

팀원

  • 팀원 목록: 해당 팀에 참여하고 있는 회원 목록을 제공합니다.
  • 초대: 팀장은 초대 버튼을 통해 팀에 새로운 회원을 초대할 수 있습니다.
  • 출석률: 오늘의 출석 인원 비율을 원 그래프로 확인할 수 있습니다.

팀 활동

  • 스터디: 팀에서 진행중인 스터디 목록과, 그 진행률을 확인할 수 있습니다.
  • 학습자료: 팀에 업로드된 학습자료 목록을 확인할 수 있습니다.
  • 작물창고(데모 이후 개발): 팀에서 수집한 작물의 종류와 그 개수를 확인할 수 있습니다.
팀 랭킹 팀 활동

스터디

  • 참여자 목록: 해당 스터디에 참여하고 있는 회원 목록을 제공합니다.
  • 스터디 진행률: 모든 팀원의 진척도를 합산하여 스터디 진행률을 계산합니다. 스터디 진행률에 따라 작물 일러스트가 성장합니다.
  • 스터디 커리큘럼: 개인별로 진행한 커리큘럼을 완료처리하거나, 커리큘럼의 순서를 바꿀 수 있습니다. 스터디장은 커리큘럼을 수정할 수 있습니다.
  • 스터디 피드: 모든 스터디 참여자의 진행상황을 피드에서 확인할 수 있습니다. 참여자가 커리큘럼을 완료하거나 학습자료를 업로드 할시 피드가 업데이트 됩니다.
스터디 커리큘럼 수정

학습자료

  • 학습자료: 스터디에서 공부한 내용을 학습자료 형태로 업로드 할 수 있습니다. 스터디에 업로드한 학습자료는 팀에도 공유됩니다.
    • 학습자료는 이미지, 파일, 링크의 형태로 업로드 가능합니다.
  • 북마크: 업로드된 학습자료를 북마크할 수 있습니다.
학습자료-이미지 학습자료-파일 학습자료-링크

마이페이지

  • 텃밭: 회원의 텃밭을 확인 가능합니다.
  • 연속 출석일: 회원의 연속 출석일을 확인 가능합니다.
  • 나의 팀: 소속된 팀을 아이콘 형태로 확인 가능합니다.
  • 나의 스터디: 소속된 스터디를 확인 가능합니다. 진행중인 스터디와 종료된 스터디를 나누어 확인할 수 있습니다.
마이페이지

스터디 카드

  • 스터디 카드: 종료된 스터디에서의 나의 활동을 정리된 레이아웃으로 제공합니다.
    • 스터디에서의 커리큘럼을 확인할 수 있습니다.
    • 나의 진행률을 확인할 수 있습니다.
    • 스터디에서 내가 업로드한 학습자료만 모아 확인할 수 있습니다.
  • 스터디 카드 공유: 스터디 카드를 정적 페이지로 공유하여 포토폴리오로 사용할 수 있습니다.
    • 공유하고 싶은 스터디 카드를 선택할 수 있습니다.
스터디 카드 스터디 카드 외부 공유

알림

  • 알림: 회원은 팀 내 스터디 개설, 팀원 초대, 직책 변경등의 소식을 알림으로 받을 수 있습니다.
    • 읽지 않은 알림과 읽은 알림을 분리하여 제공합니다.
    • 알림을 선택하여 읽음 처리할 수 있습니다.
알림 페이지

About

BDD 1기 프로젝트 두레(DooRe)의 백엔드 레파지토리입니다.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages