An open API service indexing awesome lists of open source software.

https://github.com/codestates-seb/seb43_main_016


https://github.com/codestates-seb/seb43_main_016

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

EduSync


스터디 모집 & 관리 플랫폼


프론트엔드 배포 주소 : https://www.edusync.site/


백엔드 배포 주소 : https://wish17.store/

## 프로젝트 기간 및 소개
> 프로젝트 기간 : 2023.04.28 ~ 2023.05.25
>
> 프로젝트 소개
> Edusync는 자신이 원하는 IT 분야의 스터디 그룹을 찾고, 스터디 그룹원의 모집 / 구성 / 관리를 돕는 플랫폼입니다.

## 팀원 소개
- 이미지 누르면 GitHub 주소로 연결됩니다.
- 이름을 누르면 블로그 주소로 연결됩니다.

BE(팀장)
BE
BE
FE(팀장)
FE
FE

정동우
위원종
양도열
송하은
강하성
이승현

정동우
위원종
양도열
송하은
강하성
이승현


## Project Diagram & Stack

✨Project Diagram✨
diagram
✨Backend✨














✨Frontend✨










































## 화면구성

스터디 그룹 탐색
스터디 그룹 생성

main-pre-1
main-pre-2

스터디 그룹 관리
스터디 스케줄 & 개인 스케줄

main-pre-6
main-pre-4


## 주요 기능
#### 👩‍💻 회원가입 & 로그인
- Form 회원가입 및 로그인을 지원합니다.
- 소셜 회원가입 및 로그인을 지원합니다.

#### 👩 마이페이지
- 회원탈퇴를 할 수 있습니다.
- 소셜 회원의 경우 로그인 정보 수정이 불가합니다.
- 자기소개 항목을 통해 자신에 대해 소개하는 글을 작성할 수 있습니다.
- 자신이 원하는 스터디원의 특징을 작성할 수 있습니다.

#### 📖 스터디 조회, 등록, 수정, 삭제
- 자신만의 스터디를 조회 / 등록 / 수정 / 삭제를 할 수 있습니다.
- 타 회원이 등록한 스터디를 조회 / 가입 신청 / 탈퇴를 할 수 있습니다.
- 타 회원이 등록한 모집 글에 댓글로 의견을 남길 수 있습니다.
- 스터디 목록을 자신이 원하는 필터에 따라 재정렬할 수 있습니다.
#### 👑 권한에 따른 예외처리
- 스터디장은 스터디 대기 인원 승인, 스터디원 강제 탈퇴 등의 권한을 갖고 있습니다.
- 스터디장은 스터디 그룹원에게 자신의 권한은 위임할 수 있습니다.
- 스터디장은 스터디를 해체할 수 있으며, 스터디장은 스스로 스터디 탈퇴가 불가능합니다.

#### 🗓️ 캘린더
- 자신이 속한 스터디의 일정을 조회할 수 있습니다.
- 자신만의 스터디 일정을 추가할 수 있습니다.


### 디렉토리 구조
```bash
├── README.md
├── .gitignore
├── LICENSE
├── client : 프론트엔드 디렉토리
│   ├── public
│   ├── src
│   │   ├── apis : 서버 통신을 담당하는 함수들을 별도로 관리
│   │   ├── assets
│   │   ├── compoenets : 기능 단위 컴포넌트
│   │   ├── hooks : recoil을 활용한 전역 상태 관리
│   │   ├── mocks : msw 제어
│   │   ├── pages : 최종 렌더링 페이지 관리
│   │   ├── recoil : 전역 상태 관리
│   │   ├── App.css
│   │   ├── App.tsx
│   │   ├── GlobalStyle.css
│   │   ├── ckeditor.d.ts
│   │   ├── index.css
│   │   ├── main.tsx
│   │   └── vite-env.d.ts
│   ├── index.html
│   ├── package-lock.json
│   ├── package.json
│   ├── tsconfig.json
│   ├── tsconfig.node.json
│   └── vite.config.ts
└── server : 백엔드 디렉토리
├── edusync
   ├── gradle/wrapper
   └── src
      ├── docs.asciidoc
      ├── main
      │ ├── java/com/codestates/edusync
      │ │ ├── config
      │ │ ├── exception
      │ │ ├── filter
      │ │ ├── handler
      │ │ ├── model
      │ │ ├── security/auth
      │ │ └── EdusyncApplication.java
      │ └── resources
      │ ├── db/migration
      │ ├── application-server.yml
      │ └── application.yml
      ├── test/java/com/codestates/edusync
      │ ├── config
      │ ├── member
      │ ├── model/study/studygroup
      │ └── EdusyncApplicationTests.java
      ├── .gitignore
      ├── background_run_app.sh
      ├── build.gradle
      ├── gradlew
      ├── gradlew.bat
      ├── run_app.sh
      ├── settings.gradle
      └── stop8080.sh
```


## 시작 가이드
***required***
- [JDK 11](https://jdk.java.net/11/)
- [Node 6.9.0](https://nodejs.org/en/blog/release/v6.9.0)

#### Backend
```
$ cd server
// 시작
$ ./run_app_log.sh
// 종료
$ ./stop8080.sh
```

#### Frontend
```
$ cd client
$ npm install
$ npm run dev
$ npm run preview
```


### Git Convention
***Commit Message***

| Message | 설명 |
| :--------: | :---------------------------------------------------- |
| [feat] | 새로운 기능을 추가할 경우 |
| [fix] | 버그를 고친 경우 |
| [design] | CSS 등 사용자 UI 디자인 변경 |
| [style] | 코드 포맷변경, 세미콜론 누락, 코드수정이 없는 경우. |
| [refactor] | 프로덕션 코드 리펙토링할 경우 |
| [comment] | 필요한 주석 추가 및 변경 |
| [docs] | 문서를 수정한 경우 |
| [test] | 테스트 코드 작업을할 경우 |
| [chore] | 빌드 테스트 업데이트, 패키지 매니저를 설정하는 경우 |
| [rename] | 파일 혹은 폴더명을 수정하거나 옮기는 작업만 하는 경우 |
| [remove] | 삭제하는 작업만 수행한 경우 |
| [init] | 브랜치 초기화 및 초기셋팅 관련된 설정일 경우 |