-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
161 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
# 🌟 Soullive-A | ||
|
||
## 🕊️ 쏘울모델 | ||
|
||
## 👩👩👧👦 R&R | ||
|
||
| 분야 | 이름 | 포지션 | | ||
| --- |-----|--------------------------------------------------------| | ||
| 디자인 | 홍승리 | 🧹 PM & 디자인 : 팀 총 관리, 디자인 총괄 및 UI/UX 툴을 이용한 프로토타입 디자인 | | ||
| 기획 | 송하은 | 📈기획 : 리서치・서비스 핵심 기능 및 세부 기능 설계 담당 및 스토리보드 담당 | | ||
| 기획 | 김병진 | 📊기획 : 리서치・서비스 핵심 기능 및 세부 기능 설계 담당 및 스토리보드 담당 | | ||
| 개발 | 송승희 | 🖥️ Front-End, 소셜 로그인 구현, 서버 연동 | | ||
| 개발 | 김수현 | 🖥️ Front-End, 소셜 로그인 구현, 서버 연동 | | ||
| 개발 | 이상민 | 🖥️ Back-End, ERD 설계 및 MySQL 구축 ... | | ||
| 개발 | 윤소민 | 💻 Back-End, ERD 설계 및 MySQL 구축 . .. | | ||
| 개발 | 박진우 | 💻 Back-End, ERD 설계 및 MySQL 구축 . .. | | ||
<br> | ||
|
||
|
||
## **🔍 System Architecture** | ||
|
||
![image](https://github.com/Kusitms-28th-Meetup-D/.github/assets/77064618/b31487de-eb5e-400b-b141-7e5d9817fb07) | ||
|
||
<br><br> | ||
|
||
## 🔑기술 스택 | ||
|
||
### 🖥️Frontend | ||
- ![TypeScript](https://img.shields.io/badge/Typescript-3178C6?style=flat-square&logo=Typescript&logoColor=white) | ||
- ![React](https://img.shields.io/badge/react-61DAFB?style=flat-square&logo=react&logoColor=white) | ||
![React-Query](https://img.shields.io/badge/reactquery-FF4154?style=flat-square&logo=reactquery&logoColor=white) | ||
![Axios](https://img.shields.io/badge/axios-DB5C3F?style=flat-square&logo=axios&logoColor=white) | ||
![Recoil](https://img.shields.io/badge/recoil-f26b00?style=flat-square&logo=recoil&logoColor=white) | ||
![Styled-Components](https://img.shields.io/badge/styledcomponents-DB7093?style=flat-square&logo=styledcomponents&logoColor=white) | ||
|
||
- ![vite](https://img.shields.io/badge/vite-646CFF?style=flat-square&logo=vite&logoColor=white) | ||
<br/> | ||
|
||
|
||
|
||
### 💻Backend | ||
- ![IntelliJ IDEA](https://img.shields.io/badge/IntelliJ%20IDEA-000000.svg?style=flat-square&logo=intellij-idea&logoColor=white) | ||
![Java](https://img.shields.io/badge/Java-%23ED8B00.svg?style=flat-square&logo=Java&logoColor=white) | ||
![Springboot](https://img.shields.io/badge/Springboot-6DB33F?style=flat-square&logo=springboot&logoColor=white) | ||
![Shell Script](https://img.shields.io/badge/Shell_Script-%23121011.svg?style=flat-square&logo=gnu-bash&logoColor=white) | ||
![Gradle](https://img.shields.io/badge/Gradle-02303A.svg?style=flat-square&logo=Gradle&logoColor=white) | ||
![Spring Data JPA](https://img.shields.io/badge/Spring%20Data%20JPA-6DB33F?style=flat-square&logo=spring&logoColor=white) | ||
![JWT](https://img.shields.io/badge/JWT-black?style=flat-square&logo=JSON%20web%20tokens) | ||
- ![MySQL](https://img.shields.io/badge/MySQL-%2300f.svg?style=flat-square&logo=mysql&logoColor=white) | ||
![RDS](https://img.shields.io/badge/AWS%20RDS-527FFF?style=flat-square&logo=Amazon%20RDS&logoColor=white) | ||
![S3](https://img.shields.io/badge/AWS%20S3-569A31?style=flat-square&logo=Amazon%20S3&logoColor=white) | ||
![Hibernate](https://img.shields.io/badge/Hibernate-59666C?style=flat-square&logo=Hibernate&logoColor=white) | ||
- ![GitHub Actions](https://img.shields.io/badge/Github%20Actions-%232671E5.svg?style=flat-square&logo=githubactions&logoColor=white) | ||
![EC2](https://img.shields.io/badge/AWS%20EC2-FF9900?style=flat-square&logo=Amazon%20EC2&logoColor=white) | ||
![Docker](https://img.shields.io/badge/Docker-%230db7ed.svg?style=flat-square&logo=docker&logoColor=white) | ||
![Nginx](https://img.shields.io/badge/Nginx-%23009639.svg?style=flat-square&logo=nginx&logoColor=white) | ||
<br/> | ||
|
||
#### Spring Data JPA | ||
- 자바에서 db bender에 종속되지 않고 객체 중심으로 애플리케이션 개발 가능합니다. | ||
#### AWS EC2 | ||
- 스프링 애플리케이션 배포 서버로 프리티어를 통해 무료로 일정량 사용할 수 있습니다., | ||
#### RDS mysql | ||
- 일정량 무료로 사용할 수 있으며 클라우드 인스턴스화 할 수 있습니다. | ||
#### S3 | ||
- 필요한 데이터를 어디서나 쉽게 저장하고 검색할 수 있도록 해줍니다. | ||
#### Docker | ||
- CICD를 진행 할 때 실행 가능한 서버 애플리케이션을 도커를 통해 컨테이너화 시켜 서버 환경에서 쉽게 실행할 수 있게 합니다. | ||
#### Docker-compose | ||
- EC2 인스턴스 내부에서 빌드할 docker image 쉽게 관리할 수 있게 합니다. | ||
#### git action | ||
- Github에서 제공하는 CICD 프로세스로 젠킨스와 같은 별도의 파이프라인을 구축할 필요 없다는 장점이 있습니다. | ||
#### Spring Security | ||
- Spring boot와 통합하여 사용자 인증과 인가에 대한 보안 요구사항을 쉽게 처리하도록 도와줍니다. | ||
|
||
<br/><br/> | ||
|
||
### 📑Co-working Tool | ||
- ![swagger](https://img.shields.io/badge/swagger-85EA2D.svg?style=flat-square&logo=swagger&logoColor=white) | ||
![Notion](https://img.shields.io/badge/Notion-%23000000.svg?style=flat-square&logo=notion&logoColor=white) | ||
![Postman](https://img.shields.io/badge/Postman-FF6C37?style=flat-square&logo=postman&logoColor=white) | ||
|
||
|
||
|
||
<br><br> | ||
|
||
## 🔖 Naming Rules | ||
### 🖥️Frontend | ||
- component : **PascalCase** | ||
- 최상위 태그 : **-Layout** | ||
- 차상위 태그 : **-Container** | ||
- constant : **SNAKE_CASE** | ||
- 변수 : **camelCase** | ||
- recoil atom : **camelCaseState** | ||
- Interface | ||
- props : **PascalCaseProps** | ||
- api response : **PascalCaseResponse** | ||
|
||
### 💻Backend | ||
- **Packages** | ||
- 항상 소문자로 생성하기 | ||
- **Classes** | ||
- 명사여야 한다. | ||
- 복합 단어의 경우 각 단어의 첫글자는 대문자. | ||
- 완전한 단어를 사용하고, 두 문자어와 약어는 피한다. | ||
- **Interfaces** | ||
- 인터페이스 이름도 클래스 이름과 같은 대문자 규칙을 적용한다. | ||
- **Methods** | ||
- 동사여야 한다. | ||
- 복합 단어의 경우 첫 단어는 소문자로 시작한다. | ||
- **Constants** | ||
- 클래스 상수로 선언된 변수들과 상수들의 이름은 모두 대문자로 쓰고 각 단어는 언더바 ("_")로 분리한다. | ||
-** Variables** | ||
- 변수 이름의 첫번째 문자는 소문자여야 한다. | ||
- 언더바 또는 달러 표시 문자로 시작하는 것이 허용 되기는 하지만, 사용하지 말자. | ||
- 짧지만 의미있게 짓는다. | ||
- 변수의 사용 의도를 알 수 있도록 의미적으로 짓는다. | ||
- 한문자로만 이루어진 변수는 암시적으로만 사용하고 버릴 변수를 제외하고는 피한다. | ||
- 임시 변수의 이름은 integer는 i,j,k,m,n 을 사용하고 character는 c,d,e를 사용한다. | ||
- **ETC** | ||
- DB 테이블: **lower_snake_case** | ||
- ENUM, 상수: **Upper_snake_case** | ||
- 컬렉션(Collection): **복수형**을 사용하거나 **컬렉션을 명시한다**. (Ex. userList, users, userMap) | ||
- LocalDateTime: 접미사에 **Date**를 붙인다. | ||
|
||
<br><br><br> | ||
|
||
## **🗂️ Commit Convention** | ||
|
||
|
||
Ex) `git commit -m "feat(#8) : 앱 설치 플로팅 배너 추가" ` | ||
|
||
- `feat` : 새로운 기능 추가 | ||
- `fix` : 버그 수정 | ||
- `chore` : 빌드 업무, 패키지 매니저, 라이브러리, dependencies 설정 | ||
- `docs` : 문서 수정 - <i>README.md, .github, ..etc</i> | ||
- `design` : 사용자 UI 디자인 변경 - <i> CSS</i> | ||
- `style` : 기능 수정 없는 코드 스타일 변경 | ||
- `refactor` : 코드 리팩터링 | ||
- `test` : 테스트 코드, 리펙토링 테스트 코드 추가 | ||
- `ci` : ci 설정 파일 수정 | ||
- `perf` : 성능 개선 | ||
- `rename` : 파일 혹은 폴더명 변경 | ||
|
||
|
||
|
||
<br> | ||
|
||
## **🐬 Git Flow** | ||
- `main` : 출시 가능한 프로덕션 코드의 브랜치 | ||
- `develop` : 다음 버전을 개발하는 브랜치 | ||
- `feature` : 기능을 개발하는 브랜치 | ||
- `hotfix` : 출시 버전에서 발생한 버그를 수정하는 브랜치 | ||
|
||
브랜치 네이밍 : `feat/이슈번호` | ||
|
||
<br> | ||
|
||
## ERD 및 워크플로우 | ||
|
||
![image](https://github.com/Kusitms-28th-Meetup-D/.github/assets/77064618/7e22fb9b-45b9-4fe6-9a04-ef615b8181b7) |