Skip to content

Commit cce9086

Browse files
authored
Merge pull request #63 from basilry/dev
nextjs 에러 대응
2 parents 3655e7b + 1d085e8 commit cce9086

15 files changed

Lines changed: 752 additions & 203 deletions

File tree

package-lock.json

Lines changed: 229 additions & 183 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"lint": "next lint"
1111
},
1212
"dependencies": {
13-
"@next/third-parties": "^15.3.4",
13+
"@next/third-parties": "^16.0.7",
1414
"@tiptap/core": "^2.0.3",
1515
"@tiptap/extension-blockquote": "^2.11.5",
1616
"@tiptap/extension-bold": "^2.11.5",
@@ -54,7 +54,7 @@
5454
"html-react-parser": "^4.0.0",
5555
"lodash": "^4.17.21",
5656
"lowlight": "^3.3.0",
57-
"next": "^15.3.4",
57+
"next": "^16.0.7",
5858
"next-nprogress-bar": "^2.1.2",
5959
"next-translate-plugin": "^2.6.2",
6060
"nprogress": "^0.2.0",

public/skills/vercel.png

11.6 KB
Loading

public/skills/vite.png

20.8 KB
Loading

public/skills/vue.png

4.08 KB
Loading

public/test.svg

Lines changed: 3 additions & 0 deletions
Loading

robots.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
User-agent: GPTBot
2+
Disallow: /
3+
4+
User-agent: ChatGPT-User
5+
Disallow: /
6+
7+
User-agent: CCBot
8+
Disallow: /
9+
10+
User-agent: anthropic-ai
11+
Disallow: /
12+
13+
User-agent: Claude-Web
14+
Disallow: /
15+
16+
User-agent: Google-Extended
17+
Disallow: /
Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
"use client"
2+
3+
import { ReactElement } from "react"
4+
import Image from "next/image"
5+
import Link from "next/link"
6+
import classNames from "classnames"
7+
import LineBasic from "@components/atom/LineBasic"
8+
import TextBasic from "@components/atom/TextBasic"
9+
import Wrapper from "@components/layout/Wrapper"
10+
import { useCoreStore } from "@lib/stores/store"
11+
import styles from "@styles/pages/projectsContents.module.scss"
12+
import PicsTemplate from "../PicsTemplate"
13+
14+
const HaruWeather = (): ReactElement => {
15+
const { darkMode } = useCoreStore()
16+
17+
return (
18+
<Wrapper>
19+
<div className={styles.list}>
20+
<Link href={"/projects"} className={classNames(styles.link, darkMode && styles.dark)}>
21+
<img src={`/${darkMode ? "link_white" : "link"}.svg`} alt={"link"} width={15} />
22+
<TextBasic size={"medium"} bold={"bold"}>
23+
프로젝트 목록
24+
</TextBasic>
25+
</Link>
26+
</div>
27+
<div className={classNames(styles.eachProjectWrapper, darkMode && styles.dark)}>
28+
<TextBasic size="xxx-large" bold="bold">
29+
{"Haru Weather"}
30+
</TextBasic>
31+
<br />
32+
<div className={styles.rangeLogo}>
33+
<TextBasic size="x-large" bold="bold">
34+
{"2025.08 ~ 2025.09 | 2개월"}
35+
</TextBasic>
36+
<div className={styles.logos}>
37+
<img src="/myFace.png" alt="logo" width={30} height={30} />
38+
</div>
39+
</div>
40+
<LineBasic />
41+
<br />
42+
<div className={styles.contentsWrapper}>
43+
<div className={styles.paragraphs}>
44+
<TextBasic size="large" bold="bold">
45+
{"설명"}
46+
</TextBasic>
47+
<TextBasic size="small">
48+
{
49+
"- 오픈웨더(OpenWeather) API를 활용해 사용자 위치 기반의 실시간 날씨 및 5일 예보를 제공하는 웹 서비스 사이드 프로젝트입니다."
50+
}
51+
</TextBasic>
52+
<TextBasic size="small">
53+
{
54+
"- Vercel을 통한 프론트엔드 단독 배포와 환경 변수 기반 API 키 관리로 개인·소규모 서비스도 안정적으로 운영 가능한 구조를 구현했습니다."
55+
}
56+
</TextBasic>
57+
<TextBasic size="small">
58+
{
59+
"- 사용자 경험을 중시해 다크 모드·반응형 디자인·로컬 스토리지 즐겨찾기 기능 등을 지원합니다."
60+
}
61+
</TextBasic>
62+
<br />
63+
<br />
64+
<TextBasic size="large" bold="bold">
65+
{"포지션"}
66+
</TextBasic>
67+
<TextBasic size="small">{"- 프로젝트 전반: 기획, 서비스 설계, UI/UX 디자인 및 개발"}</TextBasic>
68+
<TextBasic size="small">
69+
{
70+
"- 프론트엔드 개발자: 날씨 API 연동, 페이지 및 컴포넌트 구현, 데이터 가공 및 캐싱 로직 설계"
71+
}
72+
</TextBasic>
73+
<TextBasic size="small">
74+
{"- 인프라: Vercel을 통한 빌드·배포, 환경 변수 설정 및 CDN 캐싱 전략 수립"}
75+
</TextBasic>
76+
<br />
77+
<br />
78+
<TextBasic size="large" bold="bold">
79+
{"사용스택"}
80+
</TextBasic>
81+
<div>
82+
<img src="/skills/vite.png" alt="myFace" sizes={"100vw"} width={60} height={60} />
83+
<img
84+
className={styles.skillImgs}
85+
src="/skills/vue.png"
86+
alt="myFace"
87+
sizes={"100vw"}
88+
width={60}
89+
height={60}
90+
/>
91+
<img
92+
className={styles.skillImgs}
93+
src="/skills/typescript.svg"
94+
alt="myFace"
95+
sizes={"100vw"}
96+
width={60}
97+
height={60}
98+
/>
99+
<img
100+
className={styles.skillImgs}
101+
src="/skills/sass.svg"
102+
alt="myFace"
103+
sizes={"100vw"}
104+
width={60}
105+
height={60}
106+
/>
107+
<img
108+
className={styles.skillImgs}
109+
src="/skills/prettier.svg"
110+
alt="myFace"
111+
sizes={"100vw"}
112+
width={60}
113+
height={60}
114+
/>
115+
<img
116+
className={styles.skillImgs}
117+
src="/skills/eslint.svg"
118+
alt="myFace"
119+
sizes={"100vw"}
120+
width={60}
121+
height={60}
122+
/>
123+
<img
124+
className={styles.skillImgs}
125+
src="/skills/vercel.svg"
126+
alt="myFace"
127+
sizes={"100vw"}
128+
width={60}
129+
height={60}
130+
/>
131+
</div>
132+
<br />
133+
<br />
134+
<TextBasic size="large" bold="bold">
135+
{"프로젝트 인원"}
136+
</TextBasic>
137+
<TextBasic size="small">{"- F/E: 4명"}</TextBasic>
138+
<TextBasic size="small">{"- B/E: 2명"}</TextBasic>
139+
<br />
140+
<br />
141+
</div>
142+
<div className={styles.paragraphs}>
143+
<TextBasic size="large" bold="bold">
144+
{"성과"}
145+
</TextBasic>
146+
<TextBasic size="medium" bold="bold">
147+
{"1. 프로젝트 관리자 시스템 개발"}
148+
</TextBasic>
149+
<TextBasic size="small">
150+
{"- 기본적인 메뉴, 마스터코드, 권한 관리 기능 개발을 통한 프로젝트 관리 강화."}
151+
</TextBasic>
152+
<br />
153+
<TextBasic size="medium" bold="bold">
154+
{"2. 프로젝트의 정량적인 개발 성과 기여"}
155+
</TextBasic>
156+
<TextBasic size="small">
157+
{
158+
"- 총 84개 페이지 중 31개 신규 페이지 개발 및 프로시저 쿼리 개발, 프론트엔드와 백엔드 모두에서 기여"
159+
}
160+
</TextBasic>
161+
<TextBasic size="small">
162+
{"- AWS EC2 서버 및 ELB 관리, 검증서버 구축으로 프로젝트 인프라 관리 향상."}
163+
</TextBasic>
164+
<br />
165+
<TextBasic size="medium" bold="bold">
166+
{"3. 코드 품질 및 개발 속도 향상"}
167+
</TextBasic>
168+
<TextBasic size="small">
169+
{"- Prettier, ESLint, SonarQube를 통한 코드 품질 관리, 정적분석 수정사항 지속 반영"}
170+
</TextBasic>
171+
<TextBasic size="small">
172+
{"- B/E 프로시저 공통모듈화 11건, F/E 공통모듈화 43건 수행하여 프로젝트 개발 속도 향상"}
173+
</TextBasic>
174+
<br />
175+
<TextBasic size="medium" bold="bold">
176+
{"4. 프로젝트 전체 품질 및 협업 강화"}
177+
</TextBasic>
178+
<TextBasic size="small">
179+
{"- 지속적인 소스 코드 및 쿼리 리팩토링으로 프로젝트 품질 향상"}
180+
</TextBasic>
181+
<TextBasic size="small">
182+
{"- Notion을 통한 기술 및 트러블슈팅 공유로 커뮤니케이션 활성화"}
183+
</TextBasic>
184+
<TextBasic size="small">{"- 스크럼 회의록 작성 및 공유로 팀 내 협업 강화"}</TextBasic>
185+
</div>
186+
</div>
187+
188+
<br />
189+
190+
<LineBasic />
191+
192+
<div className={styles.titleWrapper}>
193+
<TextBasic size="xx-large" bold="bold">
194+
{"프로젝트 이미지"}
195+
</TextBasic>
196+
<div className={styles.imageTitle}>
197+
<span className={styles.red}>*</span>
198+
<TextBasic size="small">{"좌우로 드래그 해보세요!"}</TextBasic>
199+
</div>
200+
201+
<PicsTemplate filePath={"solutionPics"} domainName={"sol"} fileNums={6} />
202+
</div>
203+
</div>
204+
</Wrapper>
205+
)
206+
}
207+
208+
export default HaruWeather
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { ReactElement } from "react"
2+
import HaruWeather from "./HaruWeather"
3+
4+
const page = (): ReactElement => {
5+
return <HaruWeather />
6+
}
7+
8+
export default page

0 commit comments

Comments
 (0)