Skip to content

Commit

Permalink
upload README
Browse files Browse the repository at this point in the history
  • Loading branch information
ll0zlk committed Sep 21, 2024
1 parent fd451d8 commit 2ad39f9
Showing 1 changed file with 97 additions and 2 deletions.
99 changes: 97 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,97 @@
# 24_2_BE_Beginner_Week2_team1
백엔드 비기너 2주차 과제를 위한 레포지토리 입니다.
## **🌟 과제 개요**

---

2주차 과제는 팀 프로젝트로 진행되며, 각 팀원은 **“최소 하나의 클래스”**를 설계하고 구현하는 것이 목표입니다. 각자의 클래스는 다른 팀원의 클래스와 **“조합”** 또는 **“상속”**을 통해 상호작용해야 합니다.

자바의 객체지향 개념을 기반으로 팀 내에서 협력하여 프로젝트를 완성해주시면 됩니다.

**📅 제출 기한**: 24일(화) 오전(12:00)까지

## **📝 과제 방식**

---

1. 팀 내에서 **공통점, 공통 관심사를 알아보고, 관련하여 주제를 선택**한다.
- 공통 관심사가 도저히 없다면 팀내에서 원하는 주제를 정해도 됩니다!
2. 각 팀은 아래의 **“요구사항”에 맞게 자바 클래스들을 설계하고 구현**한다.
- 팀 내에서 역할을 잘 분배하여 프로젝트를 완성해주세요.
3. **24일(화) 오전까지 프로젝트를 깃허브에 업로드**하며, **24일 19시 프로젝트에 대해 발표**를 진행한다.
- 발표 자료는 자유이나 필수는 아닙니다.
- 코드 설명과 함께, 회의, 개발 과정이나 어려웠던 점 등 자유롭게 공유해주세요.
4. 발표 후 각 팀은 **다른 팀의 레포지토리에 코드 리뷰**를 남긴다.
- 궁금한점이나, 1주차에 받은 질문 중 스스로 공부한 부분을 질문으로 남겨도 괜찮습니다!

## **🛠️ 요구사항**

---

- 각 팀원은 **최소 하나의 클래스를 설계 및 구현**해야 합니다.

<aside>

- 각 클래스는 다른 팀원의 클래스와 **조합** 또는 **상속**을 통해 상호작용해야 합니다.
- **조합은 팀내에서 최소 한번 이상 사용**되어야 하며, **생성자 주입 방식**을 사용하는 것을 권장합니다.

[생성자 주입과 조합, 상속의 간단한 예시](https://www.notion.so/4a5e973c3d2f4bae9b1da4e7f77891ab?pvs=21)

</aside>

- **팀 내 최소 1번은 다음의 자바 요소를 사용**해야합니다.(모두가 구현할 필요는 없습니다)

<aside>

- 조합(composition)
- static
- interface와 implements
- java.util의 자료구조 중 하나
- getter, setter
- generic
- optional
- 커스텀 Exception
- optional과 연계해도 좋습니다!
- 포함되어 있지 않더라도, 학습한 내용을 자유롭게 활용해주시면 됩니다.
</aside>

- **깃허브 관련 요구사항**

<aside>

- **레포지토리는 어디 올리나요?**
- [GDSC 공식 깃허브 오가니제이션](https://github.com/GDSC-PKNU-Official)에 “24_2_BE_Beginner_Week2_team1” (팀 이름은 자유롭게)의 이름으로 레포지토리를 생성하면 됩니다.
- 아직 [GDSC 공식 깃허브 오가니제이션](https://github.com/GDSC-PKNU-Official)에 초대 되지 않은 분들은 깃허브 아이디, 이메일과 함께 연락주세요.
- **브랜치는 어떻게 작업하나요?**
- 프로젝트는 각자의 브랜치를 생성하여 main으로 PR을 올리고 머지하는 방식으로 진행합니다.
- 최대한 깃허브로 협업을 하되, 어렵다면 우선 하나의 PR로 올려도 괜찮습니다.
- 이 과정에서 코드 리뷰는 자유입니다.
- **이슈는 작성해주세요**
- 각자의 클래스 요구사항은 이슈를 작성하여 올립니다.
- 깃세션에서 배운 이슈 트래킹 방식을 사용해주세요
- PR에는 #{이슈 번호}를 통해 트래킹해주세요.
- **PR에는 팀원과 “coke98” 리뷰어 설정을 해주세요.**
</aside>

- **권장 사항**

<aside>

- 각 클래스의 역할과 책임이 명확해야 하며, 객체지향의 **SOLID 원칙**을 준수하는 것을 권장합니다.
- 클래스당 **하나의 역할만 다룰 수 있도록 최대한 여러개로 나누어서 작성**하면 좋습니다.
- private과 public을 잘 활용하여 **필요한 경우만 public**으로 열어두도록 합니다.
- 팀원들간에 코드를 리뷰할 경우, **컨벤션(네이밍, 개행, 띄어쓰기 등)도 확인**하면 좋습니다.
- 깃허브 레포지토리 **readMe.md에 해당 노션 글 또는 소개글을 업로드**하는 것도 권장합니다!
- **커밋에서도 컨벤션이나 이슈 트래킹을 활용**해보시면 좋습니다. 기회가 된다면 깃세션에서 사용해보았던 템플릿을 활용해보는 것도 좋습니다 :)

[깃허브 템플릿(PR, ISSUE) 사용법](https://www.notion.so/PR-ISSUE-107a618a3efb80638091d2e29fba59b2?pvs=21)

```jsx
// 예시 커밋 컨벤션(이슈 트래킹 포함)
feat: 변경사항 메시지

- 세부 사항(옵션)
- 세부 사항(옵션)

ref: #{이슈번호}
```

</aside>

0 comments on commit 2ad39f9

Please sign in to comment.