Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
pnuece committed Oct 30, 2024
1 parent b90f774 commit f5e400c
Show file tree
Hide file tree
Showing 10 changed files with 50 additions and 228 deletions.
Empty file removed .github/.keep
Empty file.
240 changes: 50 additions & 190 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,206 +1,66 @@
[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/NJK_cPkH)
# Template for Capstone
이 레파지토리는 학생들이 캡스톤 프로젝트 결과물을 위한 레파지토리 생성시에 참고할 내용들을 담고 있습니다.
1. 레파지토리 생성
2. 레파지토리 구성
3. 레파지토리 제출
4. README.md 가이드라인
5. README.md 작성팁

---

## 1. 레파지토리 생성
- [https://classroom.github.com/a/NJK_cPkH](https://classroom.github.com/a/NJK_cPkH)
- 위 Github Classroom 링크에 접속해 본인 조의 github 레파지토리를 생성하세요.
<img src="https://github.com/user-attachments/assets/b5a7f34a-e146-4253-b57d-672737a75a50" alt="깃헙 클래스룸 레포 생성" width="600" />

- 레포지토리 생성 시 팀명은 `TEAM-{조 번호}` 형식으로 생성하세요.
- 예를 들어, 2024년도 3조의 팀명은 `TEAM-03` 입니다.
- 이 경우 `Capstone2024-TEAM-03`이란 이름으로 레파지토리가 생성됩니다.

---

## 2. 레파지토리 구성
- 레파지토리 내에 README.md 파일 생성하고 아래의 가이드라인과 작성팁을 참고하여 README.md 파일을 작성하세요. (이 레파지토리의 SAMPLE_README.md 참조)
- 레파지토리 내에 docs 디렉토리를 생성하고 docs 디렉토리 내에는 과제 수행 하면서 작성한 각종 보고서, 발표자료를 올려둡니다. (이 레파지토리의 docs 디렉토리 참조)
- 그 밖에 레파지토리의 폴더 구성은 과제 결과물에 따라 자유롭게 구성하되 가급적 코드의 목적이나 기능에 따라 디렉토리를 나누어 구성하세요.

---

## 3. 레파지토리 제출

- **`[주의]` 레파지토리 제출**은 해당 레파지토리의 ownership을 **학과 계정**으로 넘기는 것이므로 되돌릴 수 없습니다.
- **레파지토리 제출** 전, 더 이상 수정 사항이 없는지 다시 한번 확인하세요.
- github 레파지토리에서 Settings > General > Danger zone > Transfer 클릭
<img src="https://github.com/user-attachments/assets/cb2361d4-e07e-4b5d-9116-aa80dddd8a8b" alt="소유주 변경 경로" width="500" />

- [ Specify an organization or username ]에 'PNUCSE'를 입력하고 확인 메세지를 입력하세요.
<img src="https://github.com/user-attachments/assets/7c63955d-dcfe-4ac3-bdb6-7d2620575f3a" alt="소유주 변경" width="400" />

---

## 4. README.md 가이드 라인
- README 파일 작성시에 아래의 5가지 항목의 내용은 필수적으로 포함해야 합니다.
- 아래의 5가지 항목이외에 프로젝트의 이해를 돕기 위한 내용을 추가해도 됩니다.
- SAMPLE_README.md 이 단순한 형태의 예제이니 참고하세요.

```markdown
### 1. 프로젝트 소개
#### 1.1. 배경 및 필요성
> 프로젝트를 실행하게 된 배경 및 필요성을 작성하세요.
학생들은 텀프로젝트나 비교과 활동을 통해 다양한 프로젝트를 개발하지만, 실행 가능
한 형태로 결과물을 공유하는 경우는 드물다. 그 이유는 주로 상용 클라우드 서비스의
비용 부담이나 기술적 어려움 때문이다. 대부분의 학생들은 본인의 개발 환경에서 실행
한 화면을 녹화하여 결과물을 간접적으로 공유하는 방식을 택하고 있다.

이러한 문제를 해결하기 위해 본 프로젝트는 서버리스 프로젝트 배포 시스템을 개발하여,
학생들이 비용 부담 없이 기술적 장벽을 넘어서 자신의 프로젝트를 손쉽게 배포하고 공
유할 수 있도록 지원하는 것을 목표로 한다. 클라우드 사용이 점차 활성화되고 있는 가
운데, 다양한 산업에서 클라우드 인프라를 기반으로 한 서비스 개발 및 배포가 보편화되
고 있다. 그러나 학생들이 상용 클라우드 서비스를 직접 활용하기에는 경제적 부담이 크
고, 관리 복잡성도 높은 진입장벽이 되고 있다.

또한 최근 소프트웨어 교육이 초·중·고등학교에서부터 대학, 성인 교육에 이르기까지 강
화되고 있어 많은 학생들이 실제 프로젝트를 개발할 기회를 얻고 있다. 하지만 그 결과
물을 실질적으로 배포하고 다른 사람들과 공유하는 경우는 여전히 적은 실정이다. 더불
어 부트캠프 등 집중형 SW 교육 프로그램의 증가로 인해 실전형 프로젝트의 중요성이
부각되면서, 프로젝트 결과물의 배포 및 공유 능력은 취업 경쟁력을 높이는 중요한 요소
로 떠오르고 있다.

이에 본 프로젝트는 학생들이 별도의 비용이나 복잡한 기술적 지식 없이도 자유롭게 프
로젝트를 배포하고 공유할 수 있는 환경을 제공함으로써, 학습 경험을 더욱 풍부하게 하
고 실질적인 성과물을 외부에 공유할 수 있는 기회를 확대하고자 한다.

#### 1.2. 목표 및 주요 내용
> 프로젝트의 목표 및 주요 내용을 작성하세요.

### 2. 상세설계
#### 2.1. 시스템 구성도
> 시스템 구성도(infra, front, back등의 node 간의 관계)의 사진을 삽입하세요.

#### 2.1. 사용 기술
> 스택 별(backend, frontend, designer등) 사용한 기술 및 버전을 작성하세요.
>
> ex) React.Js - React14, Node.js - v20.0.2

### 3. 설치 및 사용 방법
> 제품을 설치하기 위헤 필요한 소프트웨어 및 설치 방법을 작성하세요.
>
> 제품을 설치하고 난 후, 실행 할 수 있는 방법을 작성하세요.

### 4. 소개 및 시연 영상
> 프로젝트에 대한 소개와 시연 영상을 넣으세요.

### 5. 팀 소개
> 팀원 소개 & 구성원 별 역할 분담 & 간단한 연락처를 작성하세요.
```

## 5. README.md 작성팁
* 마크다운 언어를 이용해 README.md 파일을 작성할 때 참고할 수 있는 마크다운 언어 문법을 공유합니다.
* 다양한 예제와 보다 자세한 문법은 [이 문서](https://www.markdownguide.org/basic-syntax/)를 참고하세요.

### 5.1. 헤더 Header
```
# This is a Header 1
## This is a Header 2
### This is a Header 3
#### This is a Header 4
##### This is a Header 5
###### This is a Header 6
####### This is a Header 7 은 지원되지 않습니다.
```
<br />
교내 서버리스 배포 시스템은 프로젝트를 배포 템플릿을 활용해 컨테이너로 쉽게 배포
할 수 있도록 하고, 서버리스로 개발하여 접속자가 없는 경우 Auto Scaling과 Scale to 0
를 적용함으로써 평소에는 비활성 상태로 유지하여 자원 사용을 최소화한다. 이러한 구
성을 통해 교내 클라우드 시스템은 제한된 자원으로도 다수의 프로젝트를 효과적으로 배
포할 수 있는 기반을 마련한다.

### 5.2. 인용문 BlockQuote
```
> This is a first blockqute.
> > This is a second blockqute.
> > > This is a third blockqute.
```
> This is a first blockqute.
> > This is a second blockqute.
> > > This is a third blockqute.
<br />
### 5.3. 목록 List
* **Ordered List**
```
1. first
2. second
3. third
```
1. first
2. second
3. third
<br />

* **Unordered List**
```
* 하나
* 둘
학생들은 자신의 프로젝트를 실행 가능한 형태로 배포하고, 이를 쉽게 공유할 수 있기
때문에 피드백을 즉각적으로 받을 수 있는 기회가 제공된다.

+ 하나
+ 둘
- 하나
- 둘
```
* 하나
*

+ 하나
+

- 하나
-
<br />

### 5.4. 코드 CodeBlock
* 코드 블럭 이용 '``'
```
여러줄 주석 "```" 이용
"```
#include <stdio.h>
int main(void){
printf("Hello world!");
return 0;
}
```"
나아가, 이렇게 배포된 프로젝트는 포트폴리오로도 활용될 수 있어, 학생들이 실제 프로
젝트 결과물을 통해 성과를 구체적으로 보여줄 수 있는 중요한 자료가 될 수 있다.

단어 주석 "`" 이용
"`Hello world`"
또한, 본 시스템은 그룹 기능과 프로젝트 기능을 제공하여 학생들 간의 협업을 보다 원
활하게 할 수 있도록 돕는다. 이를 통해 팀 프로젝트를 관리하고 성과를 공유하는 과정
이 체계화되며 프로젝트 결과물 공유가 더욱 손쉽고 효율적으로 이루어진다. 프로젝트의
지속 가능성과 협업의 용이성을 동시에 추구하는 본 시스템은, 학생들이 개발한 다양한
프로젝트가 교내외에서 더 널리 활용되고 확산될 수 있는 환경을 조성한다.

* 큰 따움표(") 없이 사용하세요.
```
<br />

### 5.5. 링크 Link
```
[Title](link)
[부산대학교 정보컴퓨터공학부](https://cse.pusan.ac.kr/cse/index..do)
<link>
<https://cse.pusan.ac.kr/cse/index..do>
```
[부산대학교 정보컴퓨터공학부](https://cse.pusan.ac.kr/cse/index..do)
### 2. 상세설계
#### 2.1. 시스템 구성도
![시스템 구성도](https://afa.kr/cap/c1.png)

<https://cse.pusan.ac.kr/cse/index..do>
<br />
#### 2.2. 사용 기술
![사용 기술](https://afa.kr/cap/c2.png)

### 5.6. 강조 Highlighting
```
*single asterisks*
_single underscores_
**double asterisks**
__double underscores__
~~cancelline~~
```
*single asterisks* <br />
_single underscores_ <br />
**double asterisks** <br />
__double underscores__ <br />
~~cancelline~~ <br />
<br />
### 3. 설치 및 사용 방법
서비스를 사용하고자 하는 경우에는 `https://pnu.app`에 접속하여 활용이 가능하다.

### 5.7. 이미지 Image
```
<img src="image URL" width="600px" title="Title" alt="Alt text"></img>
![Alt text](image URL "Optional title")
관리 웹 콘솔을 직접 실행하고자 하는 경우에는 아래 명령어를 입력하면 nginx, React, Spring, postgreSQL 컨테이너가 시작되며 프로젝트 배포를 제외한 기능들을 확인할 수 있다.
(배포 인프라는 Kubernetes 기반으로 동작하여 다수의 서버가 필요해 직접 설치가 어려움)
```
- 웹에서 작성한다면 README.md 내용 안으로 이미지를 드래그 앤 드롭하면 이미지가 생성됩니다.
- 웹이 아닌 로컬에서 작성한다면, github issue에 이미지를 드래그 앤 드롭하여 image url 을 얻을 수 있습니다. (URL만 복사하고 issue는 제출 안 함.)
<img src="https://github.com/user-attachments/assets/0fe3bff1-7a2b-4df3-b230-cac4ef5f6d0b" alt="이슈에 image 올림" width="600" />
<img src="https://github.com/user-attachments/assets/251c6d42-b36b-4ad4-9cfa-fa2cc67a9a50" alt="image url 복사" width="600" />


### 5.8. 유튜브 영상 추가
```markdown
[![영상 이름](유튜브 영상 썸네일 URL)](유튜브 영상 URL)
[![부산대학교 정보컴퓨터공학부 소개](http://img.youtube.com/vi/zh_gQ_lmLqE/0.jpg)](https://www.youtube.com/watch?v=zh_gQ_lmLqE)
docker-compose up --build -d
```
[![부산대학교 정보컴퓨터공학부 소개](http://img.youtube.com/vi/zh_gQ_lmLqE/0.jpg)](https://www.youtube.com/watch?v=zh_gQ_lmLqE)

- 이때 유튜브 영상 썸네일 URL은 유투브 영상 URL로부터 다음과 같이 얻을 수 있습니다.

- `Youtube URL`: https://www.youtube.com/watch?v={동영상 ID}
- `Youtube Thumbnail URL`: http://img.youtube.com/vi/{동영상 ID}/0.jpg
- 예를 들어, https://www.youtube.com/watch?v=zh_gQ_lmLqE 라고 하면 썸네일의 주소는 http://img.youtube.com/vi/zh_gQ_lmLqE/0.jpg 이다.
### 4. 소개 및 시연 영상
[![소개 및 시연 영상](http://img.youtube.com/vi/f5gjCC3ciNs/0.jpg)](https://www.youtube.com/watch?v=f5gjCC3ciNs&list=PLFUP9jG-TDp-CVdTbHvql-WoADl4gNkKj&index=16)

### 5. 팀소개
![팀 소개](https://afa.kr/cap/c3.png)
31 changes: 0 additions & 31 deletions SAMPLE_README.md

This file was deleted.

Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
7 changes: 0 additions & 7 deletions install_and_build.sh

This file was deleted.

0 comments on commit f5e400c

Please sign in to comment.