diff --git a/content/faq/lists.mdx b/content/faq/lists.mdx
index eba7de2c..14a87ca2 100644
--- a/content/faq/lists.mdx
+++ b/content/faq/lists.mdx
@@ -57,20 +57,15 @@ lists:
- course: masters
category: 지원 및 선발
title: 선발 과정은 어떻게 되나요?
- content: "지원자의 프로그래밍 경험과 실력 그리고 학습 태도를 확인하기 위해 아래 두 단계의 선발 과정이 있습니다.\n
-1) 제시된 문제를 해결하여 제출\n
-2) 온라인 또는 오프라인 면담"
- editDate: "2022-06-14"
+ content: "마스터즈 코스와 마스터즈 max의 선발 방식은 동일하며, 프로그래밍 능력을 확인하기 위한 코딩테스트를 진행합니다."
+ editDate: "2022-10-26"
- course: masters
category: 지원 및 선발
- title: 각 선발 과정에서 합격 기준은 어떻게 되나요?
- content: "1) 제시된 문제를 해결하여 제출\n
-기본적인 프로그래밍이 가능하신 분인지 확인하고 있습니다. 어떤 언어든지 배열에서 값을 읽고, 원하는 조건으로 비교하는 함수를 작성할 수 있는 수준이 최소 수준입니다.\n\n
-2) 온라인 또는 오프라인 면담\n
-마스터즈 기간동안 다양한 동료들을 만나게 됩니다. 동료들과 서로 '협력'하여, '스스로', '포기하지 않고', '도전적'으로 학습하실 수 있는 분인지 여러 방면에서 확인하고 있습니다.\n
-단순히 시험 성적순으로 합격 여부를 결정하지 않습니다."
- editDate: "2022-06-14"
+ title: 선발 과정에서 합격 기준은 어떻게 되나요?
+ content: "기본적인 프로그래밍이 가능하신 분인지 확인하고 있습니다. 어떤 언어든지 배열에서 값을 읽고, 원하는 조건으로 비교하는 함수를 작성할 수 있는 수준이 최소 수준입니다.\n\n
+ 더불어 동료들과 서로 '협력'하여, '스스로', '포기하지 않고', '도전적'으로 학습하실 수 있는 분인지 여러 방면에서 확인하고 있습니다."
+ editDate: "2022-10-26"
- course: masters
category: 지원 및 선발
@@ -215,6 +210,12 @@ lists:
더불어 꼭 마스터즈를 준비하시는 분들이 아니더라도 프로그래밍 기초를 단단하게 다지고 싶으신 분들이라면 도움이 될 수 있습니다."
editDate: "2022-09-15"
+ - course: pre-course
+ category: 교육 과정
+ title: 프리코스는 1년에 몇 번 진행하나요?
+ content: "1년에 한 번 진행하고 있습니다. 프리코스는 마스터즈를 준비하는 과정으로, 매년 마스터즈 선발 전 1개월 동안 진행합니다."
+ editDate: "2022-10-26"
+
- course: pre-course
category: 수강 신청
title: 프리코스는 누구나 신청할 수 있나요?
diff --git a/content/masters/schedule.mdx b/content/masters/schedule.mdx
index 1415dccb..060a891f 100644
--- a/content/masters/schedule.mdx
+++ b/content/masters/schedule.mdx
@@ -21,16 +21,16 @@ progress:
- label: 클래스별 과정
title: 클래스별 과정
tags:
- - 마스터즈 코스(5주)
- - 마스터즈 max(10주)
+ - 마스터즈 코스(7주)
+ - 마스터즈 max(14주)
subtitle: 이제 멤버들은 각 클래스로 나뉘어, 분야별로 심화된 주제를 학습합니다.
description: "여러 개의 미니 프로젝트를 통해 모바일 앱이나 웹 서비스를 만들면서, 분야별로 필요한 지식을 학습합니다. 또한 주 1~2회 밀도있는 마스터 클래스를 통해 핵심 지식을 빠르게 습득합니다.\n\n 이 과정에서 학습하는 클래스별 핵심 지식은 이어지는 그룹 프로젝트를 통해 단단하고 깊이 있는 나만의 지식으로 매듭짓게 됩니다."
- label: 그룹 프로젝트
title: 그룹 프로젝트
tags:
- - 마스터즈 코스(12주)
- - 마스터즈 max(24주)
+ - 마스터즈 코스(9주)
+ - 마스터즈 max(18주)
subtitle: 다른 클래스 멤버들과 함께, 실전과 같은 프로젝트를 진행합니다.
description: "기획과 디자인이 포함된 프로젝트를 통해, 난이도별 요구사항을 구현하며 실무 역량을 다양하게 경험할 수 있습니다. 매번 새로운 멤버들과 한 팀이 되어 스프린트 계획, 배포, 리뷰, 리팩토링, 테스팅 등의 공학적인 방법을 함께 실천합니다.\n\n 이 과정에서 멤버들은 같은 분야와 협업하고 다른 분야와 협력하며, 실제로 서비스 가능한 결과물을 만들어 냅니다."
diff --git a/content/pre-course/curriculum_part1.mdx b/content/pre-course/curriculum_part1.mdx
index 472378ee..2e12406f 100644
--- a/content/pre-course/curriculum_part1.mdx
+++ b/content/pre-course/curriculum_part1.mdx
@@ -26,10 +26,16 @@ subjectList:
- 객체 지향 프로그래밍
- 동기와 비동기
-masterInfo:
- avatar: mediumCrong
- name: 크롱
- position: Crong, 웹 프론트엔드 마스터
- nutshell: "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”"
- introduce: 바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요.
+masterInfoList:
+ - picture: masterjs
+ name: 마스터제이에스
+ position: Masterjs, JavaScript 마스터
+ nutshell: "“세상에서 가장 많이 사용하는 프로그래밍 언어 JS! 한번 배워볼까요?”"
+ introduce: 웹도 JS, 서버도 JS, 앱도 JS, 어디서든 JS로 여러분의 프로그램을 만들어보세요.
+
+ - picture: crong
+ name: 크롱
+ position: Crong, 웹 프론트엔드 마스터
+ nutshell: "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”"
+ introduce: 바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요.
---
diff --git a/content/pre-course/curriculum_part2.mdx b/content/pre-course/curriculum_part2.mdx
index 78a86378..6f195929 100644
--- a/content/pre-course/curriculum_part2.mdx
+++ b/content/pre-course/curriculum_part2.mdx
@@ -24,10 +24,16 @@ subjectList:
- 비동기와 콜백 함수
- 테스트 코드
-masterInfo:
- avatar: mediumHonux
- name: 호눅스
- position: Honux, 웹 백엔드 마스터
- nutshell: "“동료와 함께 성장하면서 즐겁게 프로그래밍을 해 봅시다.”"
- introduce: 자바, 스프링, 데이터베이스, HTTP, 클라우드도 배우지만 함께 배우고, 함께 자라는 법도 익힙니다.
+masterInfoList:
+ - picture: silver
+ name: 실버
+ position: Silver, Java 마스터
+ nutshell: "“누구나 마스터가 되기 위해서는 '마늘과 쑥의 시간'이 필요하답니다. SILVER와 함께 자바의 마스터로 가기 위한 마늘과 쑥의 시간을 즐겨보세요.”"
+ introduce: 시간과 코드스쿼드는 당신 편입니다. 자~ 개발자의 길로 출발하시죠!
+
+ - picture: honux
+ name: 호눅스
+ position: Honux, 웹 백엔드 마스터
+ nutshell: "“동료와 함께 성장하면서 즐겁게 프로그래밍을 해 봅시다.”"
+ introduce: 자바, 스프링, 데이터베이스, HTTP, 클라우드도 배우지만 함께 배우고, 함께 자라는 법도 익힙니다.
---
diff --git a/content/pre-course/curriculum_part3.mdx b/content/pre-course/curriculum_part3.mdx
index df16ac47..ab5ad286 100644
--- a/content/pre-course/curriculum_part3.mdx
+++ b/content/pre-course/curriculum_part3.mdx
@@ -27,10 +27,10 @@ subjectList:
- iOS 뷰
- 함수형 프로그래밍과 타이머
-masterInfo:
- avatar: mediumJk
- name: JK
- position: 제이케이, 모바일 iOS 마스터
- nutshell: "“스위프트로 프로그래밍 연습도 하고, 간단한 앱을 직접 만들어보세요!”"
- introduce: 매력적인 애플 플랫폼에서 함께 성장할 개발자를 기다립니다.
+masterInfoList:
+ - picture: jk
+ name: JK
+ position: 제이케이, 모바일 iOS 마스터
+ nutshell: "“스위프트로 프로그래밍 연습도 하고, 간단한 앱을 직접 만들어보세요!”"
+ introduce: 매력적인 애플 플랫폼에서 함께 성장할 개발자를 기다립니다.
---
diff --git a/src/@type/CodeTogetherCurriculum.ts b/src/@type/CodeTogetherCurriculum.ts
index 13f35379..fedcba2a 100644
--- a/src/@type/CodeTogetherCurriculum.ts
+++ b/src/@type/CodeTogetherCurriculum.ts
@@ -1,4 +1,4 @@
-import { MasterInfoType } from "./Master";
+import { MasterPictureInfoType } from "./Master";
export interface CodeTogetherSubjectInfoType {
details: string[];
@@ -8,5 +8,5 @@ export interface CodeTogetherSubjectInfoType {
export interface CodeTogetherCurriculumType {
tabName: string;
subjectList: CodeTogetherSubjectInfoType[];
- masterInfo: MasterInfoType;
+ masterInfoList: MasterPictureInfoType[];
}
diff --git a/src/@type/Master.ts b/src/@type/Master.ts
index 2ee39a1c..4196146b 100644
--- a/src/@type/Master.ts
+++ b/src/@type/Master.ts
@@ -26,3 +26,11 @@ export interface MasterInfoType {
introduce: string;
nutshell: string;
}
+
+export interface MasterPictureInfoType {
+ picture: keyof typeof picture;
+ name: string;
+ position: string;
+ introduce: string;
+ nutshell: string;
+}
diff --git a/src/assets/img/picture/index.ts b/src/assets/img/picture/index.ts
index dc855640..a25395db 100644
--- a/src/assets/img/picture/index.ts
+++ b/src/assets/img/picture/index.ts
@@ -2,6 +2,8 @@ import jk from "./jk.png";
import crong from "./crong.png";
import honux from "./honux.png";
import ivy from "./ivy.png";
+import silver from "./silver.png";
+import masterjs from "./masterjs.png";
import place1 from "./place1.png";
import place2 from "./place2.png";
import place3 from "./place3.png";
@@ -16,6 +18,8 @@ export default {
crong,
honux,
ivy,
+ silver,
+ masterjs,
place1,
place2,
place3,
diff --git a/src/assets/img/picture/masterjs.png b/src/assets/img/picture/masterjs.png
new file mode 100644
index 00000000..96c46d84
Binary files /dev/null and b/src/assets/img/picture/masterjs.png differ
diff --git a/src/assets/img/picture/silver.png b/src/assets/img/picture/silver.png
new file mode 100644
index 00000000..efc7eebf
Binary files /dev/null and b/src/assets/img/picture/silver.png differ
diff --git a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/Curriculum.tsx b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/Curriculum.tsx
index 8bad508c..93c88bfa 100644
--- a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/Curriculum.tsx
+++ b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/Curriculum.tsx
@@ -13,18 +13,16 @@ import { DESCRIPTION } from "assets/static/phrases";
const Curriculum: React.FC<{ curriculumInfo: CodeTogetherCurriculumType }> = ({
curriculumInfo,
}) => {
- const { subjectList, masterInfo } = curriculumInfo;
-
- const { name } = masterInfo;
+ const { subjectList, masterInfoList, tabName } = curriculumInfo;
const descriptionLinkObj: { [key: string]: JSX.Element } = {
- 크롱: (
+ JavaScript: (
{DESCRIPTION.FRONT_CURRICULUM_LINK}
{DESCRIPTION.SUITABLE_READY_CLASS}
),
- 호눅스: (
+ Java: (
{DESCRIPTION.BACK_CURRICULUM_LINK}
{DESCRIPTION.OR}
@@ -32,7 +30,7 @@ const Curriculum: React.FC<{ curriculumInfo: CodeTogetherCurriculumType }> = ({
{DESCRIPTION.SUITABLE_READY_CLASS}
),
- JK: (
+ Swift: (
{DESCRIPTION.IOS_CURRICULUM_LINK}
{DESCRIPTION.SUITABLE_READY_CLASS}
@@ -42,7 +40,7 @@ const Curriculum: React.FC<{ curriculumInfo: CodeTogetherCurriculumType }> = ({
return (
- {descriptionLinkObj[name]}
+ {descriptionLinkObj[tabName]}
{subjectList.map(({ name, details }) => (
@@ -63,7 +61,9 @@ const Curriculum: React.FC<{ curriculumInfo: CodeTogetherCurriculumType }> = ({
))}
-
+ {masterInfoList.map((masterInfo) => (
+
+ ))}
);
@@ -150,7 +150,7 @@ const SubjectDetailList = styled.ul`
const DivideLine = styled.div`
border-bottom: 0.1rem solid ${({ theme: { color } }) => color.greyScale.grey4};
width: 100%;
- margin: 5.6rem 0;
+ margin: 4.6rem 0;
@media ${({ theme }) => theme.device.mobile} {
margin: 3.2rem 0;
}
diff --git a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.test.tsx b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.test.tsx
index bf85d05e..16b03746 100644
--- a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.test.tsx
+++ b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.test.tsx
@@ -3,13 +3,13 @@ import { render } from "@testing-library/react";
// Testing-Component
import { MasterInfo } from ".";
// Assets
-import avatars from "assets/img/avatars";
+import pictures from "assets/img/picture";
// lib
import { TestProvider } from "lib/testUtils";
describe("", () => {
const masterInfo = {
- avatar: "mediumCrong" as keyof typeof avatars,
+ picture: "masterjs" as keyof typeof pictures,
introduce: "매력적인 애플 플랫폼에서 함께 성장할 개발자를 기다립니다.",
name: "JK",
nutshell: "“나와 지인들에게 필요한 iOS 앱을 직접 만들고 출시까지 도전해보세요”",
diff --git a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.tsx b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.tsx
index 91e7a0c4..25582e4e 100644
--- a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.tsx
+++ b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.tsx
@@ -5,12 +5,12 @@ import { Typography } from "typography";
// Components
import { Avatar } from "components";
// Assets
-import avatars from "assets/img/avatars";
+import pictures from "assets/img/picture";
// Libs
import { useResponsive } from "lib/hooks";
type mastersInfo = {
- avatar: keyof typeof avatars;
+ picture: keyof typeof pictures;
name: string;
position: string;
introduce: string;
@@ -22,16 +22,16 @@ interface IMasterInfo {
const MasterInfo: React.FC = ({ masterInfo }) => {
const { isMobile } = useResponsive();
- const { name, position, nutshell, avatar, introduce } = masterInfo;
+ const { name, position, nutshell, picture, introduce } = masterInfo;
return (
@@ -54,6 +54,7 @@ const MasterInfo: React.FC = ({ masterInfo }) => {
const MasterInfoWrapper = styled.li`
display: flex;
+ margin-top: 1rem;
@media ${({ theme }) => theme.device.mobile} {
flex-direction: column;
}
diff --git a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.docs.mdx b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.docs.mdx
index 712abded..d76d5740 100644
--- a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.docs.mdx
+++ b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.docs.mdx
@@ -35,12 +35,12 @@ subjectList:
- 객체 정의 및 접근
- 객체를 활요한 프로그래밍 기초
-masterInfo:
- avatar: profileCrong
- name: 크롱
- position: Crong, 웹 프론트엔드 마스터
- nutshell: "“코드스쿼드만의 협력, 배려, 즐거움을 느끼면서 프로그래밍을 시작해 보세요”"
- introduce: 프로그래밍을 시작할 때는 스스로 학습하는 방법을 깨닫고, 동료들과 함께 학습하면서 성장하는 것이 좋습니다. ‘코드투게더'는 그렇게 함께 배우는 목적으로 만들었습니다. 또한 무엇을 해야할지 어렵지 않도록 가장 필요한 내용만을 담아 커리큘럼을 구성했습니다.
+masterInfoList:
+ - picture: profileCrong
+ name: 크롱
+ position: Crong, 웹 프론트엔드 마스터
+ nutshell: "“코드스쿼드만의 협력, 배려, 즐거움을 느끼면서 프로그래밍을 시작해 보세요”"
+ introduce: 프로그래밍을 시작할 때는 스스로 학습하는 방법을 깨닫고, 동료들과 함께 학습하면서 성장하는 것이 좋습니다. ‘코드투게더'는 그렇게 함께 배우는 목적으로 만들었습니다. 또한 무엇을 해야할지 어렵지 않도록 가장 필요한 내용만을 담아 커리큘럼을 구성했습니다.
---
```
@@ -55,8 +55,8 @@ masterInfo:
---
-- masterInfo: 마스터의 정보를 입력하는 곳 입니다.
- - avatar: 마스터의 이미지로 보여질 파일의 이름을 입력할 수 있습니다.
+- masterInfoList: 마스터의 정보를 입력하는 곳 입니다. 리스트로써 여러명의 마스터를 등록할 수 있습니다.
+ - picture: 마스터의 이미지로 보여질 파일의 이름을 입력할 수 있습니다.
- name: 마스터의 이미지 바로 옆에 보여질 큰 문구를 입력할 수 있습니다.
- position: 이름 옆에 적혀질 옅은 회색의 문구를 입력할 수 있습니다.
- nutshell: 마스터의 이름 바로 밑에 적혀질 문구를 적을 수 있습니다. 따옴표를 사용하고 싶다면 "“~따옴표를 써보세요”" 와같이 입력하면 됩니다.
diff --git a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.mock.ts b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.mock.ts
index 0a377b56..bd0aee65 100644
--- a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.mock.ts
+++ b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.mock.ts
@@ -4,72 +4,135 @@ export const DetailCurriculumQueryResult = {
{
node: {
frontmatter: {
- tabName: "파트 1",
+ tabName: "JavaScript",
index: 1,
subjectList: [
{
- details: [
- "vscode 기반 개발환경",
- "정수/실수를 활용한 연산",
- "변수를 활용한 복잡한 계산",
- ],
- name: "개발 환경, 기본 연산과 조건문",
+ details: ["개발 환경", "학습방법", "JavaScript 기본 문법"],
+ name: "Week #1",
},
{
- details: ["함수 선언과 호출", "연속된 함수 호출과 스택", "변수의 유효범위"],
- name: "함수",
+ details: ["해시", "디버깅", "스택과 큐"],
+ name: "Week #2",
},
{
- details: ["문자열 기본과 반복문", "배열 순회, 선언, 변경", "고차함수"],
- name: "반복문과 배열",
+ details: ["비동기", "정렬 알고리즘", "HTML과 CSS"],
+ name: "Week #3",
},
{
- details: ["객체 정의 및 접근", "객체를 활용한 프로그래밍 기초"],
- name: "객체",
+ details: ["객체 지향 프로그래밍", "동기와 비동기"],
+ name: "Week #4",
+ },
+ ],
+ masterInfoList: [
+ {
+ picture: "crong",
+ introduce: "바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요.",
+ name: "크롱",
+ nutshell:
+ "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”",
+ position: "Crong, 웹 프론트엔드 마스터",
+ },
+ {
+ picture: "namse",
+ introduce: "바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요.",
+ name: "남세",
+ nutshell:
+ "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”",
+ position: "Crong, 웹 프론트엔드 마스터",
},
],
- masterInfo: {
- avatar: "crong",
- name: "크롱",
- position: "Crong, 웹 프론트엔드 마스터",
- nutshell: "“코드스쿼드만의 협력, 배려, 즐거움을 느끼면서 프로그래밍을 시작해 보세요”",
- introduce:
- "프로그래밍을 시작할 때는 스스로 학습하는 방법을 깨닫고, 동료들과 함께 학습하면서 성장하는 것이 좋습니다. ‘코드투게더'는 그렇게 함께 배우는 목적으로 만들었습니다. 또한 무엇을 해야할지 어렵지 않도록 가장 필요한 내용만을 담아 커리큘럼을 구성했습니다.",
- },
},
},
},
{
node: {
frontmatter: {
- tabName: "파트 2",
+ tabName: "Java",
index: 2,
subjectList: [
{
- details: ["웹UI 동작 방식", "HTML을 활용한 구조 개발", "CSS를 활용한 스타일 개발"],
- name: "브라우저 웹 개발",
+ details: ["개발 환경", "Java 기본 문법", "조건문, 반복문, 디버깅"],
+ name: "Week #1",
+ },
+ {
+ details: ["GitHub 저장소 다루기", "함수와 객체 지향 프로그래밍 1"],
+ name: "Week #2",
},
{
- details: ["재귀적인 사고를 통한 문제 해결", "무한배열 분석"],
- name: "재귀",
+ details: ["Java 컬렉션 프레임워크", "객체 지향 프로그래밍 2"],
+ name: "Week #3",
},
{
- details: ["비동기와 동기의 차이", "비동기 제어"],
- name: "비동기 프로그래밍",
+ details: ["비동기와 콜백 함수", "테스트 코드"],
+ name: "Week #4",
+ },
+ ],
+ masterInfoList: [
+ {
+ picture: "honux",
+ introduce:
+ "자바, 스프링, 데이터베이스, HTTP, 클라우드도 배우지만 함께 배우고, 함께 자라는 법도 익힙니다.",
+ name: "호눅스",
+ nutshell: "“동료와 함께 성장하면서 즐겁게 프로그래밍을 해 봅시다.”",
+ position: "Honux, 웹 백엔드 마스터",
+ },
+ {
+ picture: "silver",
+ introduce: "바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요.",
+ name: "실버",
+ nutshell:
+ "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”",
+ position: "Crong, 웹 프론트엔드 마스터",
+ },
+ ],
+ },
+ },
+ },
+ {
+ node: {
+ frontmatter: {
+ tabName: "Swift",
+ index: 3,
+ subjectList: [
+ {
+ details: ["Swift 개발 환경", "데이터 타입과 데이터 구조", "흐름 제어와 디버깅"],
+ name: "Week #1",
+ },
+ {
+ details: ["GitHub 저장소 다루기", "Swift와 파운데이션", "스토리보드와 입력, 출력"],
+ name: "Week #2",
+ },
+ {
+ details: [
+ "객체 지향 프로그래밍 기초",
+ "데이터 구조: 리스트와 큐",
+ "알고리즘: 탐색과 정렬",
+ ],
+ name: "Week #3",
+ },
+ {
+ details: ["데이터 구조: 스택", "iOS 뷰", "함수형 프로그래밍과 타이머"],
+ name: "Week #4",
+ },
+ ],
+ masterInfoList: [
+ {
+ picture: "jk",
+ introduce: "매력적인 애플 플랫폼에서 함께 성장할 개발자를 기다립니다.",
+ name: "JK",
+ nutshell: "“스위프트로 프로그래밍 연습도 하고, 간단한 앱을 직접 만들어보세요!”",
+ position: "제이케이, 모바일 iOS 마스터",
},
{
- details: ["자바스크립트 객체와 UI 개발, 웹 애플리케이션 로직 개발"],
- name: "웹 애플리케이션 개발",
+ picture: "silver",
+ introduce: "바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요.",
+ name: "실버",
+ nutshell:
+ "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”",
+ position: "Crong, 웹 프론트엔드 마스터",
},
],
- masterInfo: {
- avatar: "crong",
- name: "크롱",
- position: "Crong, 웹 프론트엔드 마스터",
- nutshell: "“코드스쿼드만의 협력, 배려, 즐거움을 느끼면서 프로그래밍을 시작해 보세요”",
- introduce:
- "프로그래밍을 시작할 때는 스스로 학습하는 방법을 깨닫고, 동료들과 함께 학습하면서 성장하는 것이 좋습니다. ‘코드투게더'는 그렇게 함께 배우는 목적으로 만들었습니다. 또한 무엇을 해야할지 어렵지 않도록 가장 필요한 내용만을 담아 커리큘럼을 구성했습니다.",
- },
},
},
},
diff --git a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.tsx b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.tsx
index fadc0fc1..a209cb46 100644
--- a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.tsx
+++ b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.tsx
@@ -27,7 +27,7 @@ describe("", () => {
DetailCurriculumQueryResult
);
const titles = curriculumInfo.map(({ tabName }) => tabName);
- const masters = curriculumInfo.map(({ masterInfo }) => masterInfo);
+ const masters = curriculumInfo.map(({ masterInfoList }) => masterInfoList);
const subjectList = curriculumInfo.map(({ subjectList }) => subjectList);
it("각 탭들이 보여진다.", async () => {
const { getByText } = renderDetailCurriculum();
@@ -43,7 +43,7 @@ describe("", () => {
const tabTitle = getByText(title);
fireEvent.click(tabTitle);
- subjectList[i].forEach(({ name, details }: CodeTogetherSubjectInfoType) => {
+ subjectList[i].forEach(({ name }: CodeTogetherSubjectInfoType) => {
getByText(name);
});
});
@@ -55,12 +55,23 @@ describe("", () => {
const tabTitle = getByText(title);
fireEvent.click(tabTitle);
- const { name, position, introduce, nutshell } = masters[i];
+ const { name } = masters[i][0];
getByText(name);
- getByText(position);
- getByText(introduce);
- getByText(nutshell);
+ });
+ });
+ it("여러명의 마스터가 있다면 여러명의 정보가 보여진다.", async () => {
+ const { getByText } = renderDetailCurriculum();
+
+ titles.forEach((title, i) => {
+ const tabTitle = getByText(title);
+ fireEvent.click(tabTitle);
+
+ const { name } = masters[i][0];
+ const { name: name2 } = masters[i][1];
+
+ getByText(name);
+ getByText(name2);
});
});
});
diff --git a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.tsx b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.tsx
index aa4b9fa6..689ad685 100644
--- a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.tsx
+++ b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.tsx
@@ -118,8 +118,8 @@ const PreCourseCurriculumQuery = graphql`
details
name
}
- masterInfo {
- avatar
+ masterInfoList {
+ picture
introduce
name
nutshell