From ba22cdb718d7dcd3b0545e2c1c2e63361f74e542 Mon Sep 17 00:00:00 2001 From: alreadynyeong Date: Thu, 7 Sep 2023 14:50:17 +0900 Subject: [PATCH] Updates --- 404.html | 2 +- _next/static/chunks/pages/project-8fb21bd53785bcf3.js | 1 + _next/static/chunks/pages/project-d3cc3b5f924b0b07.js | 1 - _next/static/chunks/pages/projects-6c3ede11a5748051.js | 1 + _next/static/chunks/pages/projects-a75982bc91ac7a26.js | 1 - .../_buildManifest.js | 2 +- .../_ssgManifest.js | 0 about.html | 2 +- activity.html | 2 +- index.html | 2 +- project.html | 2 +- projects.html | 2 +- 12 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 _next/static/chunks/pages/project-8fb21bd53785bcf3.js delete mode 100644 _next/static/chunks/pages/project-d3cc3b5f924b0b07.js create mode 100644 _next/static/chunks/pages/projects-6c3ede11a5748051.js delete mode 100644 _next/static/chunks/pages/projects-a75982bc91ac7a26.js rename _next/static/{_BuredH-vPTO-PsE-skBU => u2dJs7CNIkLaRfBZPtRwR}/_buildManifest.js (77%) rename _next/static/{_BuredH-vPTO-PsE-skBU => u2dJs7CNIkLaRfBZPtRwR}/_ssgManifest.js (100%) diff --git a/404.html b/404.html index c1653bc..43679e0 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404: This page could not be found
Home
About
Activity
Projects
Lee Min Hyeong
+

404

This page could not be found.

\ No newline at end of file +404: This page could not be found
Home
About
Activity
Projects
Lee Min Hyeong
+

404

This page could not be found.

\ No newline at end of file diff --git a/_next/static/chunks/pages/project-8fb21bd53785bcf3.js b/_next/static/chunks/pages/project-8fb21bd53785bcf3.js new file mode 100644 index 0000000..a06694f --- /dev/null +++ b/_next/static/chunks/pages/project-8fb21bd53785bcf3.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[512],{6647:function(n,t,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/project",function(){return i(9329)}])},1765:function(n,t,i){"use strict";i.d(t,{l:function(){return e}});let e=[{id:0,title:"Hi Alcohol",skills:["Node.js","JavaScript","HTML","CSS"],description:"가진 재료로 만들 수 있는 칵테일의 레시피 제공 및 Alcohol lover들을 위한 커뮤니티",duration:"2021.11.05~2022.01.24",part:["Frontend","Server","Plan"],role:'\n 술 종류, 제품명, 재료 등을 검색해 해당 키워드가 포함되는 레시피를 조회할 수 있습니다.\n 해당 레시피는 모달창으로 상세 조회가 가능합니다.\n\n 홈에서는 결정을 어려워하는 사용자를 위한 랜덤 추천 기능을 제공합니다.\n\n 우리동네 주류매장 기능은 카카오 map API를 사용하여 사용자의 위치 주변의 주류매장을 조회할 수 있습니다.\n 위치를 공유하기 싫거나, 다른 위치를 조회하고 싶다면 검색 기능을 통해 원하는 위치를 조회할 수 있습니다.\n\n 배포 후 사용자를 모으기 위해 "나와 어울리는 술 테스트"를 만들었습니다.\n MBTI를 기반으로 술과 관련된 질문으로 각자 어울리는 칵테일을 추천해주는 서비스입니다.\n 해당 결과를 공유하면서 사용자를 모으고자 했습니다.\n '},{id:1,title:"Hi Alcohol v.2",skills:["React","JavaScript","SCSS"],description:"가진 재료로 만들 수 있는 칵테일의 레시피 제공 및 Alcohol lover들을 위한 커뮤니티",duration:"2022.06.12~2022.09.25",part:["Frontend","Plan"],git:"https://github.com/HiAlcohol/HiAlcohol_react",role:"\n 기존에 만들어 운영했던 Hi Alcohol의 리뉴얼 버전입니다.\n 기존 프로젝트의 기능을 유지하면서, 기존 프로젝트의 단점을 보완하고, 사용자의 편의성을 높이기 위해 리뉴얼하였습니다.\n React를 도입하며 프론트와 서버를 구분하였습니다.\n 관리자 모드를 추가하여 운영이 편리하도록 했습니다.\n\n 술 종류, 제품명, 재료 등을 검색해 해당 키워드가 포함되는 레시피를 조회할 수 있습니다.\n 해당 레시피는 모달창으로 상세 조회가 가능합니다.\n\n 홈에서는 결정을 어려워하는 사용자를 위한 랜덤 추천 기능을 제공합니다.\n\n 우리동네 주류매장 기능은 카카오 map API를 사용하여 사용자의 위치 주변의 주류매장을 조회할 수 있습니다.\n 위치를 공유하기 싫거나, 다른 위치를 조회하고 싶다면 검색 기능을 통해 원하는 위치를 조회할 수 있습니다.\n\n 건의 게시판을 통해 사용자의 의견을 받을 수 있습니다.\n\n 게시글/댓글 신고 기능을 통해 부적절한 게시글/댓글을 신고할 수 있습니다.\n 관리자는 신고된 게시글/댓글을 모아 볼 수 있으며, 신고된 게시글/댓글을 숨기거나 나타내게 할 수 있습니다.\n\n 관리자는 레시피를 수정하거나 추가할 수 있습니다.\n\n 수익을 위한 카카오 adfit 광고를 추가하였습니다.\n "},{id:2,title:"withParents",skills:["React-native","cli","JavaScript","StyleSheet"],description:"고령층 부모의 헬스케어와 커뮤니케이션을 위한 서비스",duration:"2022.11.15~2023.03.30",part:["Frontend","Plan","Design","Lead"],git:"https://github.com/GDSC-sswu-A/WithParentsFront",role:"\n 홈에서 오늘 날짜, 가족 리스트, 오늘 복용할 약, 갤러리의 최신 사진을 조회할 수 있도록 했습니다.\n\n 홈의 설정에 들어가 새로운 가족 생성이 가능하며, 가족 id와 password를 이용해 가족 등록이 가능합니다.\n 설정 화면에서 본인의 가족 id, password 조회가 가능해, 다른 가족에게 공유할 수 있습니다.\n\n Google Maps를 이용해 부모님의 최근 위치를 조회하고자 했습니다.\n 또한 부모님의 마지막 접속 시간을 조회해 자녀의 걱정을 덜고자 했습니다.\n \n 가족이 함께 공유할 수 있는 공동 캘린더를 만들었습니다.\n react-native-calendars를 사용하여 달력을 조회하고, 가족 공동 일정을 모달창을 통해 조회, 삭제, 작성, 수정이 가능합니다.\n "},{id:4,title:"GDSC SSWU",skills:["React","Next","TypeScript","Styled-component","Eslint+Prettier"],description:"Google Developer Students Club의 성신여자대학교 4기 프로젝트 소개 홈페이지",duration:"2023.04.20~2023.05.15",part:["Frontend"],git:"https://github.com/alreadynyeong/GDSC-SSWU-PAGE",link:"https://alreadynyeong.github.io/GDSC-SSWU-PAGE/",role:"\n 효율적인 개발을 위해 버튼, 네비게이션 바, 하단의 동아리 정보 등의 컴포넌트를 만들어 사용했습니다.\n \n 1인 프로젝트로 진행되어 모든 화면을 구현했습니다.\n 이 서비스에서는 홈에서의 기본적인 정보와 동아리 소개, 프로젝트 목록, 팀 별 프로젝트 상세보기를 제공합니다.\n\n 사용자가 모바일 화면으로 볼 것을 고려하여 반응형으로 구현했습니다.\n 이때 window.innerWidth를 이용해 Mobile, PC 구분했습니다.\n\n 요즘 트렌드에 맞게 다크모드 역시 추가했습니다.\n 버튼을 통해 다크모드/라이트모드 설정이 가능하며, @/styles/Theme.ts 파일에 테마별 색을 설정했습니다.\n ThemeProvider를 사용하여 테마를 적용했습니다.\n "},{id:5,title:"수정광산",skills:["React-native","cli","TypeScript","StyleSheet"],description:"성신여자대학교 학생들을 위한 자체 커뮤니티 어플",duration:"2022.10.13 ~",part:["Frontend"],link:"https://play.google.com/store/apps/details?id=com.crystalminefrontend&hl=ko&gl=US",role:"\n 푸시알림을 받기 위한 iOS 환경에서의 설정을 했습니다.\n\n 구글 AdMob을 사용하기 위해 AdMob 계정을 만들고, 광고를 추가했습니다.\n\n 졸업생의 학교 Gmail 계정이 사용 불가능해져서 졸업생이 재인증을 할 수 없는 문제가 있었습니다. \n 이를 해결하기 위해 졸업생이 second Email을 등록하고 삭제할 수 있도록 구현했습니다.\n\n 사용자들의 편의를 위한 채팅 기능을 추가했습니다.\n 채팅 리스트를 조회할 수 있고, 편집 및 정렬이 가능합니다.\n 채팅방에서는 채팅을 전송할 수 있고, 갤러리 및 촬영을 통해 이미지를 전송할 수 있도록 했습니다.\n 실시간으로 채팅이 가능하며, 상대방이 있었는지의 여부도 확인 가능합니다.\n 채팅방에서 상대를 차단하거나 나갈 수 있습니다.\n\n 해당 프로젝트는 현재 앱스토어와 구글 플레이 스토어에 배포되어 있으며,\n 6000명 이상의 사용자를 보유하고 있습니다.\n "},{id:6,title:"Re:MEMORY",skills:["React-native","expo","TypeScript","StyleSheet"],description:"챗GPT가 되찾아준 나의 소중한 기억. 어린 시절 추억의 키워드를 입력해 내 추억을 이미지로 기록하고 기억을 공유하는 서비스",duration:"2023.06.11~2023.06.12",part:["Frontend"],git:"https://github.com/4th-Neordinary-HACKATHON-Team-A/Web",role:"\n expo-linear-gradient를 이용한 그라데이션 버튼과 input 테마를 만들었습니다.\n\n Stack Navigation을 사용해 화면 이동이 가능합니다.\n\n OnBoarding 화면에서는 닉네임을 입력받습니다.\n 이때 닉네임은 AsyncStorage에 저장했습니다\n\n 채팅 형식의 화면에서 추억을 만들기 위한 정보를 사용자에게 입력 받아 저장했습니다.\n 사용자가 입력한 정보는 리스트 형태로 서버에 전달됩니다.\n IOS 환경에서 input 창이 가려지는 문제를 해결하기 위해 Keyboard, KeyboardEvent를 사용했습니다.\n \n 추억 이미지 결과 페이지에서는 이미지 저장 기능이 존재합니다.\n 이때 react-native-easy-toast를 이용해 토스트 메시지를 생성했습니다.\n\n 해당 프로젝트는 제 4회 NE(O)DINARY 해커톤에서 진행된 프로젝트로, 우수상을 수상했습니다.\n "},{id:7,title:"Green Quset",skills:["React","TypeScript","Styled-component","Eslint+Prettier","Recoil"],description:"여행지에서 미션을 찾아 수행하고 소통하며 나만의 식물을 키우는 서비스",duration:"2023.07.03~2023.07.04",part:["Frontend"],git:"https://github.com/UMCHackathon/Hackathon_client",role:"\n 찾은 미션을 확인하고 댓글을 통해 서로의 미션을 볼 수 있습니다.\n 해당 프로젝트는 해커톤에서 진행되어 시간이 부족했습니다.\n 그래서 Recoil을 사용해 데이터를 보여주는 형식으로 임시 구현했습니다.\n 사진과 텍스트가 업로드 가능하며, 사진은 미리보기 기능이 있습니다.\n\n input과 textarea를 이용해 만든 [미션 추가 페이지]에서 사용자가 직접 미션 추가가 가능합니다.\n\n 모바일 화면에 최적화시키기 위해 메뉴는 햄버거 바를 이용해 접을 수 있도록 구현했습니다.\n 해당 메뉴에서 화면 이동이 가능합니다.\n\n 해당 프로젝트는 제 4회 UMC 해커톤에서 최우수상을 수상했습니다.\n "},{id:8,title:"Todis",skills:["React","TypeScript","Styled-component","Eslint+Prettier"],description:"날씨에 맞는 코디 포인트 추천! 귀여운 아바타로 친구와 OOTD도 공유가 가능한 웹사이트",duration:"2023.07.12~2023.08.23",part:["Frontend","Part Leader"],git:"https://github.com/Todis-UMC/Todis_web",link:"http://todis.s3-website.ap-northeast-2.amazonaws.com/",role:"\n EsLint+Prettier를 사용해 코드 스타일을 일관성 있게 유지했습니다.\n Font를 편하게 사용하기 위해 CSSProperties를 사용해 스타일을 정의했습니다.\n\n Input 컴포넌트를 만들었습니다. 기본적인 text input으로 사용이 가능하며 type으로 password를 줄 경우에는 입력 값을 숨길 수 있는 버튼이 활성화됩니다.\n 로그인, 회원가입 등의 화면 구현을 위한 컴포넌트를 만들어 사용했습니다.\n\n 이메일과 비밀번호를 통해 로그인이 가능하며, 로그인 시에는 토큰을 발급받아 localStorage에 저장했습니다.\n 구글과 카카오를 통한 로그인도 가능합니다.\n\n 회원가입 시에는 이메일, 비밀번호, 닉네임을 입력받습니다.\n 닉네임과 비밀번호는 회원정보 수정 페이지에서 변경이 가능합니다.\n 비밀번호를 잊은 사용자를 위한 비밀번호 찾기 페이지도 구현했습니다. 사용자가 입력한 이메일로 임시 비밀번호가 발급됩니다.\n\n 모바일 상태의 사이드 메뉴를 구현했습니다.\n keyframes를 사용해 애니메이션을 추가했습니다.\n\n 모바일 사용자를 위한 반응형 웹을 구현했습니다.\n styled-component에서 @media를 사용해 화면 크기에 따라 스타일을 변경했습니다.\n 스타일의 변경이 많은 경우 window.innerWidth를 이용해 만든 컴포넌트를 활용해 화면 크기에 따라 컴포넌트를 렌더링했습니다.\n\n react-toastify를 사용해 토스트 메시지를 구현했습니다.\n react-spinners를 사용해 로딩 중임을 알려주는 컴포넌트를 구현했습니다.\n "},{id:9,title:"Landing Page",skills:["React","TypeScript","Styled-component","Eslint+Prettier"],description:"DLenc의 층간 소음 관련 아이템을 소개해주는 Landing Page",duration:"2023.08.08~2023.09.08",part:["Frontend"],git:"https://github.com/DLenc/Randing",role:"\n EsLint+Prettier를 사용해 코드 스타일을 일관성 있게 유지했습니다.\n Font를 편하게 사용하기 위해 CSSProperties를 사용해 스타일을 정의했습니다.\n Color를 편하게 사용하기 위해 Color를 정의한 파일을 만들어 사용했습니다.\n\n 랜딩 페이지의 최상단의 표지, 중간 배너, 하단의 Footer를 구현했습니다.\n\n 층간 소음이 발생할 정도의 소음이 생기면 알려주는 기능을 소개하는 섹션을 구현했습니다.\n\n 카드 리뷰 섹션에서 슬라이드 기능을 구현했습니다.\n\n 디자인 상 페이지에서 빠지게 되었지만,\n react-you-tube를 사용해 유튜브 영상을 불러오는 기능을 구현했습니다.\n &::-webkit-scrollbar를 이용해 스크롤바의 스타일을 변경했습니다.\n "}]},9329:function(n,t,i){"use strict";i.r(t),i.d(t,{default:function(){return N}});var e=i(2729),r=i(5893),o=i(5675),l=i.n(o),d=i(1163),c=i(1852),a=i(1686);function s(){let n=(0,e._)(["\n display: inline-block;\n border: 1px solid gray;\n margin-bottom: 10px;\n margin-right: 10px;\n padding: 7px;\n border-radius: 12px;\n font-size: 0.8rem;\n color: darkgreen;\n"]);return s=function(){return n},n}let p=a.ZP.div.withConfig({componentId:"sc-9ff1667b-0"})(s());var u=n=>{let{part:t}=n;return(0,r.jsx)("div",{children:null==t?void 0:t.map(n=>(0,r.jsx)(p,{children:n},n))})};function h(){let n=(0,e._)(["\n display: inline-block;\n border: 1px solid gray;\n margin-bottom: 50px;\n margin-right: 10px;\n padding: 7px;\n border-radius: 12px;\n font-size: 0.8rem;\n color: green;\n @media (max-width: 768px) {\n margin-bottom: 10px;\n }\n"]);return h=function(){return n},n}let g=a.ZP.div.withConfig({componentId:"sc-48bc2d60-0"})(h());var m=n=>{let{skills:t}=n;return(0,r.jsx)("div",{children:null==t?void 0:t.map(n=>(0,r.jsx)(g,{children:n},n))})},x=i(1765);function f(){let n=(0,e._)(["\n width: 100%;\n padding: 0 10%;\n margin-top: 70px;\n margin-bottom: 150px;\n"]);return f=function(){return n},n}function b(){let n=(0,e._)(["\n font-size: 1.5rem;\n font-weight: bold;\n padding: 30px;\n @media (max-width: 768px) {\n padding: 10px;\n }\n"]);return b=function(){return n},n}function y(){let n=(0,e._)(["\n width: 500px;\n height: 300px;\n overflow: hidden;\n border-radius: 10px;\n box-shadow: 5px 5px 5px 1px lightgray;\n border: 1px solid lightgray;\n margin: 0 auto;\n @media (max-width: 768px) {\n width: 300px;\n height: 200px;\n }\n"]);return y=function(){return n},n}function v(){let n=(0,e._)(["\n margin: 0 auto;\n width: fit-content;\n margin-top: 13px;\n"]);return v=function(){return n},n}function S(){let n=(0,e._)(["\n font-size: 0.8rem;\n color: gray;\n margin-left: 10px;\n"]);return S=function(){return n},n}function w(){let n=(0,e._)(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 2px solid black;\n margin-bottom: 30px;\n padding-right: 30px;\n"]);return w=function(){return n},n}function P(){let n=(0,e._)(["\n margin-top: 30px;\n align-items: center;\n > p {\n white-space: pre-line;\n line-height: 2;\n }\n"]);return P=function(){return n},n}function k(){let n=(0,e._)(["\n font-size: 1.2rem;\n font-weight: bold;\n margin-right: 10px;\n margin-top: 40px;\n padding-bottom: 40px;\n color: gray;\n border-bottom: 1px solid gray;\n"]);return k=function(){return n},n}let C=a.ZP.div.withConfig({componentId:"sc-bcc69c1-0"})(f()),_=a.ZP.div.withConfig({componentId:"sc-bcc69c1-1"})(b()),j=a.ZP.div.withConfig({componentId:"sc-bcc69c1-2"})(y()),T=a.ZP.div.withConfig({componentId:"sc-bcc69c1-3"})(v()),A=a.ZP.span.withConfig({componentId:"sc-bcc69c1-4"})(S()),I=a.ZP.div.withConfig({componentId:"sc-bcc69c1-5"})(w()),E=a.ZP.div.withConfig({componentId:"sc-bcc69c1-6"})(P()),R=a.ZP.div.withConfig({componentId:"sc-bcc69c1-7"})(k());var N=()=>{var n;let t=(0,d.useRouter)(),i=Number(t.query.id)||(null===(n=t.query)||void 0===n?void 0:n.id),e=x.l.find(n=>n.id==i),o=(0,c.useMediaQuery)({query:"(max-width: 768px)"});return e?(0,r.jsxs)(C,{children:[(0,r.jsxs)(I,{children:[(0,r.jsxs)(_,{children:[null==e?void 0:e.title," ",(0,r.jsx)(A,{children:null==e?void 0:e.duration})]}),(0,r.jsxs)("div",{children:[e.git&&(0,r.jsx)("a",{href:e.git,target:"_blank",rel:"noopener noreferrer",children:"GIT"}),e.git&&e.link&&(0,r.jsx)("span",{children:" | "}),e.link&&(0,r.jsx)("a",{href:e.link,target:"_blank",rel:"noopener noreferrer",children:"LINK"})]})]}),(0,r.jsx)(u,{part:null==e?void 0:e.part}),(0,r.jsx)(m,{skills:null==e?void 0:e.skills}),(0,r.jsx)(j,{children:(0,r.jsx)(l(),{src:"https://alreadynyeong.github.io/Portfolio/projects/".concat(null==e?void 0:e.id,".png"),width:o?300:500,height:o?200:300,alt:""})}),(0,r.jsxs)(T,{children:[(0,r.jsx)(R,{children:null==e?void 0:e.description}),(0,r.jsx)(E,{children:(0,r.jsx)("p",{children:null==e?void 0:e.role})})]})]}):(0,r.jsx)("div",{children:"프로젝트를 찾을 수 없습니다."})}}},function(n){n.O(0,[774,888,179],function(){return n(n.s=6647)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/project-d3cc3b5f924b0b07.js b/_next/static/chunks/pages/project-d3cc3b5f924b0b07.js deleted file mode 100644 index 7d7e5f4..0000000 --- a/_next/static/chunks/pages/project-d3cc3b5f924b0b07.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[512],{6647:function(n,t,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/project",function(){return i(9329)}])},1765:function(n,t,i){"use strict";i.d(t,{l:function(){return e}});let e=[{id:0,title:"Hi Alcohol",skills:["Node.js","JavaScript","HTML","CSS"],description:"가진 재료로 만들 수 있는 칵테일의 레시피 제공 및 Alcohol lover들을 위한 커뮤니티",duration:"2021.11.05~2022.01.24",part:["Frontend","Server","Plan"],role:'\n 술 종류, 제품명, 재료 등을 검색해 해당 키워드가 포함되는 레시피를 조회할 수 있습니다.\n 해당 레시피는 모달창으로 상세 조회가 가능합니다.\n\n 홈에서는 결정을 어려워하는 사용자를 위한 랜덤 추천 기능을 제공합니다.\n\n 우리동네 주류매장 기능은 카카오 map API를 사용하여 사용자의 위치 주변의 주류매장을 조회할 수 있습니다.\n 위치를 공유하기 싫거나, 다른 위치를 조회하고 싶다면 검색 기능을 통해 원하는 위치를 조회할 수 있습니다.\n\n 배포 후 사용자를 모으기 위해 "나와 어울리는 술 테스트"를 만들었습니다.\n MBTI를 기반으로 술과 관련된 질문으로 각자 어울리는 칵테일을 추천해주는 서비스입니다.\n 해당 결과를 공유하면서 사용자를 모으고자 했습니다.\n '},{id:1,title:"Hi Alcohol v.2",skills:["React","JavaScript","SCSS"],description:"가진 재료로 만들 수 있는 칵테일의 레시피 제공 및 Alcohol lover들을 위한 커뮤니티",duration:"2022.06.12~2022.09.25",part:["Frontend","Plan"],git:"https://github.com/HiAlcohol/HiAlcohol_react",role:"\n 기존에 만들어 운영했던 Hi Alcohol의 리뉴얼 버전입니다.\n 기존 프로젝트의 기능을 유지하면서, 기존 프로젝트의 단점을 보완하고, 사용자의 편의성을 높이기 위해 리뉴얼하였습니다.\n React를 도입하며 프론트와 서버를 구분하였습니다.\n 관리자 모드를 추가하여 운영이 편리하도록 했습니다.\n\n 술 종류, 제품명, 재료 등을 검색해 해당 키워드가 포함되는 레시피를 조회할 수 있습니다.\n 해당 레시피는 모달창으로 상세 조회가 가능합니다.\n\n 홈에서는 결정을 어려워하는 사용자를 위한 랜덤 추천 기능을 제공합니다.\n\n 우리동네 주류매장 기능은 카카오 map API를 사용하여 사용자의 위치 주변의 주류매장을 조회할 수 있습니다.\n 위치를 공유하기 싫거나, 다른 위치를 조회하고 싶다면 검색 기능을 통해 원하는 위치를 조회할 수 있습니다.\n\n 건의 게시판을 통해 사용자의 의견을 받을 수 있습니다.\n\n 게시글/댓글 신고 기능을 통해 부적절한 게시글/댓글을 신고할 수 있습니다.\n 관리자는 신고된 게시글/댓글을 모아 볼 수 있으며, 신고된 게시글/댓글을 숨기거나 나타내게 할 수 있습니다.\n\n 관리자는 레시피를 수정하거나 추가할 수 있습니다.\n\n 수익을 위한 카카오 adfit 광고를 추가하였습니다.\n "},{id:2,title:"withParents",skills:["React-native","cli","JavaScript","StyleSheet"],description:"고령층 부모의 헬스케어와 커뮤니케이션을 위한 서비스",duration:"2022.11.15~2023.03.30",part:["Frontend","Plan","Design","Lead"],git:"https://github.com/GDSC-sswu-A/WithParentsFront",role:"\n 홈에서 오늘 날짜, 가족 리스트, 오늘 복용할 약, 갤러리의 최신 사진을 조회할 수 있도록 했습니다.\n\n 홈의 설정에 들어가 새로운 가족 생성이 가능하며, 가족 id와 password를 이용해 가족 등록이 가능합니다.\n 설정 화면에서 본인의 가족 id, password 조회가 가능해, 다른 가족에게 공유할 수 있습니다.\n\n Google Maps를 이용해 부모님의 최근 위치를 조회하고자 했습니다.\n 또한 부모님의 마지막 접속 시간을 조회해 자녀의 걱정을 덜고자 했습니다.\n \n 가족이 함께 공유할 수 있는 공동 캘린더를 만들었습니다.\n react-native-calendars를 사용하여 달력을 조회하고, 가족 공동 일정을 모달창을 통해 조회, 삭제, 작성, 수정이 가능합니다.\n "},{id:3,title:"Pycon Korea 2023",skills:["React","Next","TypeScript","Stiches","Eslint+Prettier"],description:"세계 각국의 파이썬 프로그래밍 언어 커뮤니티에서 주관하는 비영리 컨퍼런스 “파이콘”의 2023 한국 홈페이지",duration:"2023.01.26~",part:["Frontend"],git:"https://github.com/pythonkr/pyconkr-2023-frontend",link:"https://2023.pycon.kr/",role:"\n FAQ에서 사용될 Toggle 컴포넌트를 구현했습니다.\n \n 파이콘에서 진행되는 세션을 조회할 수 있는 세션 목록 페이지를 구현했습니다.\n "},{id:4,title:"GDSC SSWU",skills:["React","Next","TypeScript","Styled-component","Eslint+Prettier"],description:"Google Developer Students Club의 성신여자대학교 4기 프로젝트 소개 홈페이지",duration:"2023.04.20~2023.05.15",part:["Frontend"],git:"https://github.com/alreadynyeong/GDSC-SSWU-PAGE",link:"https://alreadynyeong.github.io/GDSC-SSWU-PAGE/",role:"\n 효율적인 개발을 위해 버튼, 네비게이션 바, 하단의 동아리 정보 등의 컴포넌트를 만들어 사용했습니다.\n \n 1인 프로젝트로 진행되어 모든 화면을 구현했습니다.\n 이 서비스에서는 홈에서의 기본적인 정보와 동아리 소개, 프로젝트 목록, 팀 별 프로젝트 상세보기를 제공합니다.\n\n 사용자가 모바일 화면으로 볼 것을 고려하여 반응형으로 구현했습니다.\n 이때 window.innerWidth를 이용해 Mobile, PC 구분했습니다.\n\n 요즘 트렌드에 맞게 다크모드 역시 추가했습니다.\n 버튼을 통해 다크모드/라이트모드 설정이 가능하며, @/styles/Theme.ts 파일에 테마별 색을 설정했습니다.\n ThemeProvider를 사용하여 테마를 적용했습니다.\n "},{id:5,title:"수정광산",skills:["React-native","cli","TypeScript","StyleSheet"],description:"성신여자대학교 학생들을 위한 자체 커뮤니티 어플",duration:"2022.10.13 ~",part:["Frontend"],link:"https://play.google.com/store/apps/details?id=com.crystalminefrontend&hl=ko&gl=US",role:"\n 푸시알림을 받기 위한 iOS 환경에서의 설정을 했습니다.\n\n 구글 AdMob을 사용하기 위해 AdMob 계정을 만들고, 광고를 추가했습니다.\n\n 졸업생의 학교 Gmail 계정이 사용 불가능해져서 졸업생이 재인증을 할 수 없는 문제가 있었습니다. \n 이를 해결하기 위해 졸업생이 second Email을 등록하고 삭제할 수 있도록 구현했습니다.\n\n 사용자들의 편의를 위한 채팅 기능을 추가했습니다.\n 채팅 리스트를 조회할 수 있고, 편집 및 정렬이 가능합니다.\n 채팅방에서는 채팅을 전송할 수 있고, 갤러리 및 촬영을 통해 이미지를 전송할 수 있도록 했습니다.\n 실시간으로 채팅이 가능하며, 상대방이 있었는지의 여부도 확인 가능합니다.\n 채팅방에서 상대를 차단하거나 나갈 수 있습니다.\n "},{id:6,title:"Re:MEMORY",skills:["React-native","expo","TypeScript","StyleSheet"],description:"챗GPT가 되찾아준 나의 소중한 기억. 어린 시절 추억의 키워드를 입력해 내 추억을 이미지로 기록하고 기억을 공유하는 서비스",duration:"2023.06.11~2023.06.12",part:["Frontend"],git:"https://github.com/4th-Neordinary-HACKATHON-Team-A/Web",role:"\n expo-linear-gradient를 이용한 그라데이션 버튼과 input 테마를 만들었습니다.\n\n Stack Navigation을 사용해 화면 이동이 가능합니다.\n\n OnBoarding 화면에서는 닉네임을 입력받습니다.\n 이때 닉네임은 AsyncStorage에 저장했습니다\n\n 채팅 형식의 화면에서 추억을 만들기 위한 정보를 사용자에게 입력 받아 저장했습니다.\n 사용자가 입력한 정보는 리스트 형태로 서버에 전달됩니다.\n IOS 환경에서 input 창이 가려지는 문제를 해결하기 위해 Keyboard, KeyboardEvent를 사용했습니다.\n \n 추억 이미지 결과 페이지에서는 이미지 저장 기능이 존재합니다.\n 이때 react-native-easy-toast를 이용해 토스트 메시지를 생성했습니다.\n "},{id:7,title:"Green Quset",skills:["React","TypeScript","Styled-component","Eslint+Prettier","Recoil"],description:"여행지에서 미션을 찾아 수행하고 소통하며 나만의 식물을 키우는 서비스",duration:"2023.07.03~2023.07.04",part:["Frontend"],git:"https://github.com/UMCHackathon/Hackathon_client",role:"\n 찾은 미션을 확인하고 댓글을 통해 서로의 미션을 볼 수 있습니다.\n 해당 프로젝트는 해커톤에서 진행되어 시간이 부족했습니다.\n 그래서 Recoil을 사용해 데이터를 보여주는 형식으로 임시 구현했습니다.\n 사진과 텍스트가 업로드 가능하며, 사진은 미리보기 기능이 있습니다.\n\n input과 textarea를 이용해 만든 [미션 추가 페이지]에서 사용자가 직접 미션 추가가 가능합니다.\n\n 모바일 화면에 최적화시키기 위해 메뉴는 햄버거 바를 이용해 접을 수 있도록 구현했습니다.\n 해당 메뉴에서 화면 이동이 가능합니다.\n "},{id:8,title:"Todis",skills:["React","TypeScript","Styled-component","Eslint+Prettier"],description:"날씨에 맞는 코디 포인트 추천! 귀여운 아바타로 친구와 OOTD도 공유가 가능한 웹사이트",duration:"2023.07.12~2023.08.23",part:["Frontend","Part Leader"],git:"https://github.com/Todis-UMC/Todis_web",link:"http://todis.s3-website.ap-northeast-2.amazonaws.com/",role:"\n EsLint+Prettier를 사용해 코드 스타일을 일관성 있게 유지했습니다.\n Font를 편하게 사용하기 위해 CSSProperties를 사용해 스타일을 정의했습니다.\n\n Input 컴포넌트를 만들었습니다. 기본적인 text input으로 사용이 가능하며 type으로 password를 줄 경우에는 입력 값을 숨길 수 있는 버튼이 활성화됩니다.\n 로그인, 회원가입 등의 화면 구현을 위한 컴포넌트를 만들어 사용했습니다.\n\n 이메일과 비밀번호를 통해 로그인이 가능하며, 로그인 시에는 토큰을 발급받아 localStorage에 저장했습니다.\n 구글과 카카오를 통한 로그인도 가능합니다.\n\n 회원가입 시에는 이메일, 비밀번호, 닉네임을 입력받습니다.\n 닉네임과 비밀번호는 회원정보 수정 페이지에서 변경이 가능합니다.\n 비밀번호를 잊은 사용자를 위한 비밀번호 찾기 페이지도 구현했습니다. 사용자가 입력한 이메일로 임시 비밀번호가 발급됩니다.\n\n 모바일 상태의 사이드 메뉴를 구현했습니다.\n keyframes를 사용해 애니메이션을 추가했습니다.\n\n 모바일 사용자를 위한 반응형 웹을 구현했습니다.\n styled-component에서 @media를 사용해 화면 크기에 따라 스타일을 변경했습니다.\n 스타일의 변경이 많은 경우 window.innerWidth를 이용해 만든 컴포넌트를 활용해 화면 크기에 따라 컴포넌트를 렌더링했습니다.\n\n react-toastify를 사용해 토스트 메시지를 구현했습니다.\n react-spinners를 사용해 로딩 중임을 알려주는 컴포넌트를 구현했습니다.\n "},{id:9,title:"Landing Page",skills:["React","TypeScript","Styled-component","Eslint+Prettier"],description:"Landing Page",duration:"2023.08.08~2023.09.08",part:["Frontend"],git:"https://github.com/DLenc/Randing",role:"\n EsLint+Prettier를 사용해 코드 스타일을 일관성 있게 유지했습니다.\n Font를 편하게 사용하기 위해 CSSProperties를 사용해 스타일을 정의했습니다.\n Color를 편하게 사용하기 위해 Color를 정의한 파일을 만들어 사용했습니다.\n\n 랜딩 페이지의 최상단의 표지를 구현했습니다.\n 중간의 배너를 구현했습니다.\n\n 층간 소음이 발생할 정도의 소음이 생기면 알려주는 기능을 소개하는 섹션을 구현했습니다.\n\n 디자인 상 페이지에서 빠지게 되었지만,\n react-you-tube를 사용해 유튜브 영상을 불러오는 기능을 구현했습니다.\n &::-webkit-scrollbar를 이용해 스크롤바의 스타일을 변경했습니다.\n "}]},9329:function(n,t,i){"use strict";i.r(t),i.d(t,{default:function(){return F}});var e=i(2729),r=i(5893),o=i(5675),l=i.n(o),d=i(1163),c=i(1852),a=i(1686);function s(){let n=(0,e._)(["\n display: inline-block;\n border: 1px solid gray;\n margin-bottom: 10px;\n margin-right: 10px;\n padding: 7px;\n border-radius: 12px;\n font-size: 0.8rem;\n color: darkgreen;\n"]);return s=function(){return n},n}let p=a.ZP.div.withConfig({componentId:"sc-9ff1667b-0"})(s());var u=n=>{let{part:t}=n;return(0,r.jsx)("div",{children:null==t?void 0:t.map(n=>(0,r.jsx)(p,{children:n},n))})};function h(){let n=(0,e._)(["\n display: inline-block;\n border: 1px solid gray;\n margin-bottom: 50px;\n margin-right: 10px;\n padding: 7px;\n border-radius: 12px;\n font-size: 0.8rem;\n color: green;\n @media (max-width: 768px) {\n margin-bottom: 10px;\n }\n"]);return h=function(){return n},n}let g=a.ZP.div.withConfig({componentId:"sc-48bc2d60-0"})(h());var m=n=>{let{skills:t}=n;return(0,r.jsx)("div",{children:null==t?void 0:t.map(n=>(0,r.jsx)(g,{children:n},n))})},x=i(1765);function f(){let n=(0,e._)(["\n width: 100%;\n padding: 0 10%;\n margin-top: 70px;\n margin-bottom: 150px;\n"]);return f=function(){return n},n}function b(){let n=(0,e._)(["\n font-size: 1.5rem;\n font-weight: bold;\n padding: 30px;\n @media (max-width: 768px) {\n padding: 10px;\n }\n"]);return b=function(){return n},n}function y(){let n=(0,e._)(["\n width: 500px;\n height: 300px;\n overflow: hidden;\n border-radius: 10px;\n box-shadow: 5px 5px 5px 1px lightgray;\n border: 1px solid lightgray;\n margin: 0 auto;\n @media (max-width: 768px) {\n width: 300px;\n height: 200px;\n }\n"]);return y=function(){return n},n}function S(){let n=(0,e._)(["\n margin: 0 auto;\n width: fit-content;\n margin-top: 13px;\n"]);return S=function(){return n},n}function v(){let n=(0,e._)(["\n font-size: 0.8rem;\n color: gray;\n margin-left: 10px;\n"]);return v=function(){return n},n}function w(){let n=(0,e._)(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 2px solid black;\n margin-bottom: 30px;\n padding-right: 30px;\n"]);return w=function(){return n},n}function k(){let n=(0,e._)(["\n margin-top: 30px;\n align-items: center;\n > p {\n white-space: pre-line;\n line-height: 2;\n }\n"]);return k=function(){return n},n}function P(){let n=(0,e._)(["\n font-size: 1.2rem;\n font-weight: bold;\n margin-right: 10px;\n margin-top: 40px;\n padding-bottom: 40px;\n color: gray;\n border-bottom: 1px solid gray;\n"]);return P=function(){return n},n}let C=a.ZP.div.withConfig({componentId:"sc-bcc69c1-0"})(f()),_=a.ZP.div.withConfig({componentId:"sc-bcc69c1-1"})(b()),j=a.ZP.div.withConfig({componentId:"sc-bcc69c1-2"})(y()),T=a.ZP.div.withConfig({componentId:"sc-bcc69c1-3"})(S()),A=a.ZP.span.withConfig({componentId:"sc-bcc69c1-4"})(v()),E=a.ZP.div.withConfig({componentId:"sc-bcc69c1-5"})(w()),I=a.ZP.div.withConfig({componentId:"sc-bcc69c1-6"})(k()),R=a.ZP.div.withConfig({componentId:"sc-bcc69c1-7"})(P());var F=()=>{var n;let t=(0,d.useRouter)(),i=Number(t.query.id)||(null===(n=t.query)||void 0===n?void 0:n.id),e=x.l.find(n=>n.id==i),o=(0,c.useMediaQuery)({query:"(max-width: 768px)"});return e?(0,r.jsxs)(C,{children:[(0,r.jsxs)(E,{children:[(0,r.jsxs)(_,{children:[null==e?void 0:e.title," ",(0,r.jsx)(A,{children:null==e?void 0:e.duration})]}),(0,r.jsxs)("div",{children:[e.git&&(0,r.jsx)("a",{href:e.git,target:"_blank",rel:"noopener noreferrer",children:"GIT"}),e.git&&e.link&&(0,r.jsx)("span",{children:" | "}),e.link&&(0,r.jsx)("a",{href:e.link,target:"_blank",rel:"noopener noreferrer",children:"LINK"})]})]}),(0,r.jsx)(u,{part:null==e?void 0:e.part}),(0,r.jsx)(m,{skills:null==e?void 0:e.skills}),(0,r.jsx)(j,{children:(0,r.jsx)(l(),{src:"https://alreadynyeong.github.io/Portfolio/projects/".concat(null==e?void 0:e.id,".png"),width:o?300:500,height:o?200:300,alt:""})}),(0,r.jsxs)(T,{children:[(0,r.jsx)(R,{children:null==e?void 0:e.description}),(0,r.jsx)(I,{children:(0,r.jsx)("p",{children:null==e?void 0:e.role})})]})]}):(0,r.jsx)("div",{children:"프로젝트를 찾을 수 없습니다."})}}},function(n){n.O(0,[774,888,179],function(){return n(n.s=6647)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/projects-6c3ede11a5748051.js b/_next/static/chunks/pages/projects-6c3ede11a5748051.js new file mode 100644 index 0000000..9216255 --- /dev/null +++ b/_next/static/chunks/pages/projects-6c3ede11a5748051.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[327],{6192:function(n,t,e){(window.__NEXT_P=window.__NEXT_P||[]).push(["/projects",function(){return e(1825)}])},1765:function(n,t,e){"use strict";e.d(t,{l:function(){return i}});let i=[{id:0,title:"Hi Alcohol",skills:["Node.js","JavaScript","HTML","CSS"],description:"가진 재료로 만들 수 있는 칵테일의 레시피 제공 및 Alcohol lover들을 위한 커뮤니티",duration:"2021.11.05~2022.01.24",part:["Frontend","Server","Plan"],role:'\n 술 종류, 제품명, 재료 등을 검색해 해당 키워드가 포함되는 레시피를 조회할 수 있습니다.\n 해당 레시피는 모달창으로 상세 조회가 가능합니다.\n\n 홈에서는 결정을 어려워하는 사용자를 위한 랜덤 추천 기능을 제공합니다.\n\n 우리동네 주류매장 기능은 카카오 map API를 사용하여 사용자의 위치 주변의 주류매장을 조회할 수 있습니다.\n 위치를 공유하기 싫거나, 다른 위치를 조회하고 싶다면 검색 기능을 통해 원하는 위치를 조회할 수 있습니다.\n\n 배포 후 사용자를 모으기 위해 "나와 어울리는 술 테스트"를 만들었습니다.\n MBTI를 기반으로 술과 관련된 질문으로 각자 어울리는 칵테일을 추천해주는 서비스입니다.\n 해당 결과를 공유하면서 사용자를 모으고자 했습니다.\n '},{id:1,title:"Hi Alcohol v.2",skills:["React","JavaScript","SCSS"],description:"가진 재료로 만들 수 있는 칵테일의 레시피 제공 및 Alcohol lover들을 위한 커뮤니티",duration:"2022.06.12~2022.09.25",part:["Frontend","Plan"],git:"https://github.com/HiAlcohol/HiAlcohol_react",role:"\n 기존에 만들어 운영했던 Hi Alcohol의 리뉴얼 버전입니다.\n 기존 프로젝트의 기능을 유지하면서, 기존 프로젝트의 단점을 보완하고, 사용자의 편의성을 높이기 위해 리뉴얼하였습니다.\n React를 도입하며 프론트와 서버를 구분하였습니다.\n 관리자 모드를 추가하여 운영이 편리하도록 했습니다.\n\n 술 종류, 제품명, 재료 등을 검색해 해당 키워드가 포함되는 레시피를 조회할 수 있습니다.\n 해당 레시피는 모달창으로 상세 조회가 가능합니다.\n\n 홈에서는 결정을 어려워하는 사용자를 위한 랜덤 추천 기능을 제공합니다.\n\n 우리동네 주류매장 기능은 카카오 map API를 사용하여 사용자의 위치 주변의 주류매장을 조회할 수 있습니다.\n 위치를 공유하기 싫거나, 다른 위치를 조회하고 싶다면 검색 기능을 통해 원하는 위치를 조회할 수 있습니다.\n\n 건의 게시판을 통해 사용자의 의견을 받을 수 있습니다.\n\n 게시글/댓글 신고 기능을 통해 부적절한 게시글/댓글을 신고할 수 있습니다.\n 관리자는 신고된 게시글/댓글을 모아 볼 수 있으며, 신고된 게시글/댓글을 숨기거나 나타내게 할 수 있습니다.\n\n 관리자는 레시피를 수정하거나 추가할 수 있습니다.\n\n 수익을 위한 카카오 adfit 광고를 추가하였습니다.\n "},{id:2,title:"withParents",skills:["React-native","cli","JavaScript","StyleSheet"],description:"고령층 부모의 헬스케어와 커뮤니케이션을 위한 서비스",duration:"2022.11.15~2023.03.30",part:["Frontend","Plan","Design","Lead"],git:"https://github.com/GDSC-sswu-A/WithParentsFront",role:"\n 홈에서 오늘 날짜, 가족 리스트, 오늘 복용할 약, 갤러리의 최신 사진을 조회할 수 있도록 했습니다.\n\n 홈의 설정에 들어가 새로운 가족 생성이 가능하며, 가족 id와 password를 이용해 가족 등록이 가능합니다.\n 설정 화면에서 본인의 가족 id, password 조회가 가능해, 다른 가족에게 공유할 수 있습니다.\n\n Google Maps를 이용해 부모님의 최근 위치를 조회하고자 했습니다.\n 또한 부모님의 마지막 접속 시간을 조회해 자녀의 걱정을 덜고자 했습니다.\n \n 가족이 함께 공유할 수 있는 공동 캘린더를 만들었습니다.\n react-native-calendars를 사용하여 달력을 조회하고, 가족 공동 일정을 모달창을 통해 조회, 삭제, 작성, 수정이 가능합니다.\n "},{id:4,title:"GDSC SSWU",skills:["React","Next","TypeScript","Styled-component","Eslint+Prettier"],description:"Google Developer Students Club의 성신여자대학교 4기 프로젝트 소개 홈페이지",duration:"2023.04.20~2023.05.15",part:["Frontend"],git:"https://github.com/alreadynyeong/GDSC-SSWU-PAGE",link:"https://alreadynyeong.github.io/GDSC-SSWU-PAGE/",role:"\n 효율적인 개발을 위해 버튼, 네비게이션 바, 하단의 동아리 정보 등의 컴포넌트를 만들어 사용했습니다.\n \n 1인 프로젝트로 진행되어 모든 화면을 구현했습니다.\n 이 서비스에서는 홈에서의 기본적인 정보와 동아리 소개, 프로젝트 목록, 팀 별 프로젝트 상세보기를 제공합니다.\n\n 사용자가 모바일 화면으로 볼 것을 고려하여 반응형으로 구현했습니다.\n 이때 window.innerWidth를 이용해 Mobile, PC 구분했습니다.\n\n 요즘 트렌드에 맞게 다크모드 역시 추가했습니다.\n 버튼을 통해 다크모드/라이트모드 설정이 가능하며, @/styles/Theme.ts 파일에 테마별 색을 설정했습니다.\n ThemeProvider를 사용하여 테마를 적용했습니다.\n "},{id:5,title:"수정광산",skills:["React-native","cli","TypeScript","StyleSheet"],description:"성신여자대학교 학생들을 위한 자체 커뮤니티 어플",duration:"2022.10.13 ~",part:["Frontend"],link:"https://play.google.com/store/apps/details?id=com.crystalminefrontend&hl=ko&gl=US",role:"\n 푸시알림을 받기 위한 iOS 환경에서의 설정을 했습니다.\n\n 구글 AdMob을 사용하기 위해 AdMob 계정을 만들고, 광고를 추가했습니다.\n\n 졸업생의 학교 Gmail 계정이 사용 불가능해져서 졸업생이 재인증을 할 수 없는 문제가 있었습니다. \n 이를 해결하기 위해 졸업생이 second Email을 등록하고 삭제할 수 있도록 구현했습니다.\n\n 사용자들의 편의를 위한 채팅 기능을 추가했습니다.\n 채팅 리스트를 조회할 수 있고, 편집 및 정렬이 가능합니다.\n 채팅방에서는 채팅을 전송할 수 있고, 갤러리 및 촬영을 통해 이미지를 전송할 수 있도록 했습니다.\n 실시간으로 채팅이 가능하며, 상대방이 있었는지의 여부도 확인 가능합니다.\n 채팅방에서 상대를 차단하거나 나갈 수 있습니다.\n\n 해당 프로젝트는 현재 앱스토어와 구글 플레이 스토어에 배포되어 있으며,\n 6000명 이상의 사용자를 보유하고 있습니다.\n "},{id:6,title:"Re:MEMORY",skills:["React-native","expo","TypeScript","StyleSheet"],description:"챗GPT가 되찾아준 나의 소중한 기억. 어린 시절 추억의 키워드를 입력해 내 추억을 이미지로 기록하고 기억을 공유하는 서비스",duration:"2023.06.11~2023.06.12",part:["Frontend"],git:"https://github.com/4th-Neordinary-HACKATHON-Team-A/Web",role:"\n expo-linear-gradient를 이용한 그라데이션 버튼과 input 테마를 만들었습니다.\n\n Stack Navigation을 사용해 화면 이동이 가능합니다.\n\n OnBoarding 화면에서는 닉네임을 입력받습니다.\n 이때 닉네임은 AsyncStorage에 저장했습니다\n\n 채팅 형식의 화면에서 추억을 만들기 위한 정보를 사용자에게 입력 받아 저장했습니다.\n 사용자가 입력한 정보는 리스트 형태로 서버에 전달됩니다.\n IOS 환경에서 input 창이 가려지는 문제를 해결하기 위해 Keyboard, KeyboardEvent를 사용했습니다.\n \n 추억 이미지 결과 페이지에서는 이미지 저장 기능이 존재합니다.\n 이때 react-native-easy-toast를 이용해 토스트 메시지를 생성했습니다.\n\n 해당 프로젝트는 제 4회 NE(O)DINARY 해커톤에서 진행된 프로젝트로, 우수상을 수상했습니다.\n "},{id:7,title:"Green Quset",skills:["React","TypeScript","Styled-component","Eslint+Prettier","Recoil"],description:"여행지에서 미션을 찾아 수행하고 소통하며 나만의 식물을 키우는 서비스",duration:"2023.07.03~2023.07.04",part:["Frontend"],git:"https://github.com/UMCHackathon/Hackathon_client",role:"\n 찾은 미션을 확인하고 댓글을 통해 서로의 미션을 볼 수 있습니다.\n 해당 프로젝트는 해커톤에서 진행되어 시간이 부족했습니다.\n 그래서 Recoil을 사용해 데이터를 보여주는 형식으로 임시 구현했습니다.\n 사진과 텍스트가 업로드 가능하며, 사진은 미리보기 기능이 있습니다.\n\n input과 textarea를 이용해 만든 [미션 추가 페이지]에서 사용자가 직접 미션 추가가 가능합니다.\n\n 모바일 화면에 최적화시키기 위해 메뉴는 햄버거 바를 이용해 접을 수 있도록 구현했습니다.\n 해당 메뉴에서 화면 이동이 가능합니다.\n\n 해당 프로젝트는 제 4회 UMC 해커톤에서 최우수상을 수상했습니다.\n "},{id:8,title:"Todis",skills:["React","TypeScript","Styled-component","Eslint+Prettier"],description:"날씨에 맞는 코디 포인트 추천! 귀여운 아바타로 친구와 OOTD도 공유가 가능한 웹사이트",duration:"2023.07.12~2023.08.23",part:["Frontend","Part Leader"],git:"https://github.com/Todis-UMC/Todis_web",link:"http://todis.s3-website.ap-northeast-2.amazonaws.com/",role:"\n EsLint+Prettier를 사용해 코드 스타일을 일관성 있게 유지했습니다.\n Font를 편하게 사용하기 위해 CSSProperties를 사용해 스타일을 정의했습니다.\n\n Input 컴포넌트를 만들었습니다. 기본적인 text input으로 사용이 가능하며 type으로 password를 줄 경우에는 입력 값을 숨길 수 있는 버튼이 활성화됩니다.\n 로그인, 회원가입 등의 화면 구현을 위한 컴포넌트를 만들어 사용했습니다.\n\n 이메일과 비밀번호를 통해 로그인이 가능하며, 로그인 시에는 토큰을 발급받아 localStorage에 저장했습니다.\n 구글과 카카오를 통한 로그인도 가능합니다.\n\n 회원가입 시에는 이메일, 비밀번호, 닉네임을 입력받습니다.\n 닉네임과 비밀번호는 회원정보 수정 페이지에서 변경이 가능합니다.\n 비밀번호를 잊은 사용자를 위한 비밀번호 찾기 페이지도 구현했습니다. 사용자가 입력한 이메일로 임시 비밀번호가 발급됩니다.\n\n 모바일 상태의 사이드 메뉴를 구현했습니다.\n keyframes를 사용해 애니메이션을 추가했습니다.\n\n 모바일 사용자를 위한 반응형 웹을 구현했습니다.\n styled-component에서 @media를 사용해 화면 크기에 따라 스타일을 변경했습니다.\n 스타일의 변경이 많은 경우 window.innerWidth를 이용해 만든 컴포넌트를 활용해 화면 크기에 따라 컴포넌트를 렌더링했습니다.\n\n react-toastify를 사용해 토스트 메시지를 구현했습니다.\n react-spinners를 사용해 로딩 중임을 알려주는 컴포넌트를 구현했습니다.\n "},{id:9,title:"Landing Page",skills:["React","TypeScript","Styled-component","Eslint+Prettier"],description:"DLenc의 층간 소음 관련 아이템을 소개해주는 Landing Page",duration:"2023.08.08~2023.09.08",part:["Frontend"],git:"https://github.com/DLenc/Randing",role:"\n EsLint+Prettier를 사용해 코드 스타일을 일관성 있게 유지했습니다.\n Font를 편하게 사용하기 위해 CSSProperties를 사용해 스타일을 정의했습니다.\n Color를 편하게 사용하기 위해 Color를 정의한 파일을 만들어 사용했습니다.\n\n 랜딩 페이지의 최상단의 표지, 중간 배너, 하단의 Footer를 구현했습니다.\n\n 층간 소음이 발생할 정도의 소음이 생기면 알려주는 기능을 소개하는 섹션을 구현했습니다.\n\n 카드 리뷰 섹션에서 슬라이드 기능을 구현했습니다.\n\n 디자인 상 페이지에서 빠지게 되었지만,\n react-you-tube를 사용해 유튜브 영상을 불러오는 기능을 구현했습니다.\n &::-webkit-scrollbar를 이용해 스크롤바의 스타일을 변경했습니다.\n "}]},1825:function(n,t,e){"use strict";e.r(t),e.d(t,{default:function(){return k}});var i=e(2729),r=e(5893),o=e(7294),l=e(5675),a=e.n(l),c=e(1686),s=e(1852);function d(){let n=(0,i._)(["\n width: fit-content;\n margin: 50px;\n"]);return d=function(){return n},n}function p(){let n=(0,i._)(["\n width: 300px;\n height: 200px;\n overflow: hidden;\n border-radius: 10px;\n box-shadow: 5px 5px 5px 1px lightgray;\n cursor: pointer;\n border: 1px solid lightgray;\n @media (max-width: 768px) {\n width: 250px;\n height: 150px;\n }\n"]);return p=function(){return n},n}function u(){let n=(0,i._)(["\n font-size: 1.2rem;\n font-weight: semi-bold;\n margin-top: 10px;\n text-align: center;\n"]);return u=function(){return n},n}let h=c.ZP.div.withConfig({componentId:"sc-91880d4c-0"})(d()),g=c.ZP.div.withConfig({componentId:"sc-91880d4c-1"})(p()),f=c.ZP.div.withConfig({componentId:"sc-91880d4c-2"})(u());var m=n=>{let{project:t}=n,e=(0,s.useMediaQuery)({query:"(max-width: 768px)"});return(0,r.jsxs)(h,{children:[(0,r.jsx)(g,{children:(0,r.jsx)(a(),{src:"https://alreadynyeong.github.io/Portfolio/projects/".concat(t.id,".png"),width:e?250:300,height:e?150:200,alt:""})}),(0,r.jsxs)(f,{children:["[ ",t.title," ]"]})]})},S=e(1765);function x(){let n=(0,i._)(["\n width: fit-content;\n margin: 0 auto;\n cursor: pointer;\n transition: transform 0.7s;\n &:hover {\n transform: scale(1.1);\n }\n"]);return x=function(){return n},n}function y(){let n=(0,i._)(["\n margin-left: 50px;\n margin-top: 20px;\n"]);return y=function(){return n},n}function v(){let n=(0,i._)(["\n color: ",";\n display: inline-block;\n border: 1px solid ",";\n margin-left: 10px;\n padding: 7px;\n border-radius: 12px;\n font-size: 0.8rem;\n cursor: pointer;\n"]);return v=function(){return n},n}let w=c.ZP.div.withConfig({componentId:"sc-f8688750-0"})(x()),P=c.ZP.div.withConfig({componentId:"sc-f8688750-1"})(y()),b=c.ZP.div.withConfig({componentId:"sc-f8688750-2"})(v(),n=>n.active?"green":"gray",n=>n.active?"green":"gray");var k=()=>{let[n,t]=(0,o.useState)([]),e=e=>{n.includes(e)?t(n.filter(n=>n!==e)):t([...n,e])};return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{children:(0,r.jsxs)(P,{children:[(0,r.jsx)(a(),{src:"https://alreadynyeong.github.io/Portfolio/Filter.png",width:20,height:20,alt:""}),(0,r.jsx)(b,{onClick:()=>e("React"),active:n.includes("React"),children:"React"}),(0,r.jsx)(b,{onClick:()=>e("React-native"),active:n.includes("React-native"),children:"React-native"}),(0,r.jsx)(b,{onClick:()=>e("Node.js"),active:n.includes("Node.js"),children:"Node.js"})]})}),S.l.slice().reverse().filter(t=>0===n.length||n.some(n=>t.skills.includes(n))).map(n=>(0,r.jsx)(w,{children:(0,r.jsx)("a",{href:"/Portfolio/project?id=".concat(n.id),children:(0,r.jsx)(m,{project:n})})},n.id))]})}}},function(n){n.O(0,[774,888,179],function(){return n(n.s=6192)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/projects-a75982bc91ac7a26.js b/_next/static/chunks/pages/projects-a75982bc91ac7a26.js deleted file mode 100644 index a33ac6a..0000000 --- a/_next/static/chunks/pages/projects-a75982bc91ac7a26.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[327],{6192:function(n,t,e){(window.__NEXT_P=window.__NEXT_P||[]).push(["/projects",function(){return e(1825)}])},1765:function(n,t,e){"use strict";e.d(t,{l:function(){return i}});let i=[{id:0,title:"Hi Alcohol",skills:["Node.js","JavaScript","HTML","CSS"],description:"가진 재료로 만들 수 있는 칵테일의 레시피 제공 및 Alcohol lover들을 위한 커뮤니티",duration:"2021.11.05~2022.01.24",part:["Frontend","Server","Plan"],role:'\n 술 종류, 제품명, 재료 등을 검색해 해당 키워드가 포함되는 레시피를 조회할 수 있습니다.\n 해당 레시피는 모달창으로 상세 조회가 가능합니다.\n\n 홈에서는 결정을 어려워하는 사용자를 위한 랜덤 추천 기능을 제공합니다.\n\n 우리동네 주류매장 기능은 카카오 map API를 사용하여 사용자의 위치 주변의 주류매장을 조회할 수 있습니다.\n 위치를 공유하기 싫거나, 다른 위치를 조회하고 싶다면 검색 기능을 통해 원하는 위치를 조회할 수 있습니다.\n\n 배포 후 사용자를 모으기 위해 "나와 어울리는 술 테스트"를 만들었습니다.\n MBTI를 기반으로 술과 관련된 질문으로 각자 어울리는 칵테일을 추천해주는 서비스입니다.\n 해당 결과를 공유하면서 사용자를 모으고자 했습니다.\n '},{id:1,title:"Hi Alcohol v.2",skills:["React","JavaScript","SCSS"],description:"가진 재료로 만들 수 있는 칵테일의 레시피 제공 및 Alcohol lover들을 위한 커뮤니티",duration:"2022.06.12~2022.09.25",part:["Frontend","Plan"],git:"https://github.com/HiAlcohol/HiAlcohol_react",role:"\n 기존에 만들어 운영했던 Hi Alcohol의 리뉴얼 버전입니다.\n 기존 프로젝트의 기능을 유지하면서, 기존 프로젝트의 단점을 보완하고, 사용자의 편의성을 높이기 위해 리뉴얼하였습니다.\n React를 도입하며 프론트와 서버를 구분하였습니다.\n 관리자 모드를 추가하여 운영이 편리하도록 했습니다.\n\n 술 종류, 제품명, 재료 등을 검색해 해당 키워드가 포함되는 레시피를 조회할 수 있습니다.\n 해당 레시피는 모달창으로 상세 조회가 가능합니다.\n\n 홈에서는 결정을 어려워하는 사용자를 위한 랜덤 추천 기능을 제공합니다.\n\n 우리동네 주류매장 기능은 카카오 map API를 사용하여 사용자의 위치 주변의 주류매장을 조회할 수 있습니다.\n 위치를 공유하기 싫거나, 다른 위치를 조회하고 싶다면 검색 기능을 통해 원하는 위치를 조회할 수 있습니다.\n\n 건의 게시판을 통해 사용자의 의견을 받을 수 있습니다.\n\n 게시글/댓글 신고 기능을 통해 부적절한 게시글/댓글을 신고할 수 있습니다.\n 관리자는 신고된 게시글/댓글을 모아 볼 수 있으며, 신고된 게시글/댓글을 숨기거나 나타내게 할 수 있습니다.\n\n 관리자는 레시피를 수정하거나 추가할 수 있습니다.\n\n 수익을 위한 카카오 adfit 광고를 추가하였습니다.\n "},{id:2,title:"withParents",skills:["React-native","cli","JavaScript","StyleSheet"],description:"고령층 부모의 헬스케어와 커뮤니케이션을 위한 서비스",duration:"2022.11.15~2023.03.30",part:["Frontend","Plan","Design","Lead"],git:"https://github.com/GDSC-sswu-A/WithParentsFront",role:"\n 홈에서 오늘 날짜, 가족 리스트, 오늘 복용할 약, 갤러리의 최신 사진을 조회할 수 있도록 했습니다.\n\n 홈의 설정에 들어가 새로운 가족 생성이 가능하며, 가족 id와 password를 이용해 가족 등록이 가능합니다.\n 설정 화면에서 본인의 가족 id, password 조회가 가능해, 다른 가족에게 공유할 수 있습니다.\n\n Google Maps를 이용해 부모님의 최근 위치를 조회하고자 했습니다.\n 또한 부모님의 마지막 접속 시간을 조회해 자녀의 걱정을 덜고자 했습니다.\n \n 가족이 함께 공유할 수 있는 공동 캘린더를 만들었습니다.\n react-native-calendars를 사용하여 달력을 조회하고, 가족 공동 일정을 모달창을 통해 조회, 삭제, 작성, 수정이 가능합니다.\n "},{id:3,title:"Pycon Korea 2023",skills:["React","Next","TypeScript","Stiches","Eslint+Prettier"],description:"세계 각국의 파이썬 프로그래밍 언어 커뮤니티에서 주관하는 비영리 컨퍼런스 “파이콘”의 2023 한국 홈페이지",duration:"2023.01.26~",part:["Frontend"],git:"https://github.com/pythonkr/pyconkr-2023-frontend",link:"https://2023.pycon.kr/",role:"\n FAQ에서 사용될 Toggle 컴포넌트를 구현했습니다.\n \n 파이콘에서 진행되는 세션을 조회할 수 있는 세션 목록 페이지를 구현했습니다.\n "},{id:4,title:"GDSC SSWU",skills:["React","Next","TypeScript","Styled-component","Eslint+Prettier"],description:"Google Developer Students Club의 성신여자대학교 4기 프로젝트 소개 홈페이지",duration:"2023.04.20~2023.05.15",part:["Frontend"],git:"https://github.com/alreadynyeong/GDSC-SSWU-PAGE",link:"https://alreadynyeong.github.io/GDSC-SSWU-PAGE/",role:"\n 효율적인 개발을 위해 버튼, 네비게이션 바, 하단의 동아리 정보 등의 컴포넌트를 만들어 사용했습니다.\n \n 1인 프로젝트로 진행되어 모든 화면을 구현했습니다.\n 이 서비스에서는 홈에서의 기본적인 정보와 동아리 소개, 프로젝트 목록, 팀 별 프로젝트 상세보기를 제공합니다.\n\n 사용자가 모바일 화면으로 볼 것을 고려하여 반응형으로 구현했습니다.\n 이때 window.innerWidth를 이용해 Mobile, PC 구분했습니다.\n\n 요즘 트렌드에 맞게 다크모드 역시 추가했습니다.\n 버튼을 통해 다크모드/라이트모드 설정이 가능하며, @/styles/Theme.ts 파일에 테마별 색을 설정했습니다.\n ThemeProvider를 사용하여 테마를 적용했습니다.\n "},{id:5,title:"수정광산",skills:["React-native","cli","TypeScript","StyleSheet"],description:"성신여자대학교 학생들을 위한 자체 커뮤니티 어플",duration:"2022.10.13 ~",part:["Frontend"],link:"https://play.google.com/store/apps/details?id=com.crystalminefrontend&hl=ko&gl=US",role:"\n 푸시알림을 받기 위한 iOS 환경에서의 설정을 했습니다.\n\n 구글 AdMob을 사용하기 위해 AdMob 계정을 만들고, 광고를 추가했습니다.\n\n 졸업생의 학교 Gmail 계정이 사용 불가능해져서 졸업생이 재인증을 할 수 없는 문제가 있었습니다. \n 이를 해결하기 위해 졸업생이 second Email을 등록하고 삭제할 수 있도록 구현했습니다.\n\n 사용자들의 편의를 위한 채팅 기능을 추가했습니다.\n 채팅 리스트를 조회할 수 있고, 편집 및 정렬이 가능합니다.\n 채팅방에서는 채팅을 전송할 수 있고, 갤러리 및 촬영을 통해 이미지를 전송할 수 있도록 했습니다.\n 실시간으로 채팅이 가능하며, 상대방이 있었는지의 여부도 확인 가능합니다.\n 채팅방에서 상대를 차단하거나 나갈 수 있습니다.\n "},{id:6,title:"Re:MEMORY",skills:["React-native","expo","TypeScript","StyleSheet"],description:"챗GPT가 되찾아준 나의 소중한 기억. 어린 시절 추억의 키워드를 입력해 내 추억을 이미지로 기록하고 기억을 공유하는 서비스",duration:"2023.06.11~2023.06.12",part:["Frontend"],git:"https://github.com/4th-Neordinary-HACKATHON-Team-A/Web",role:"\n expo-linear-gradient를 이용한 그라데이션 버튼과 input 테마를 만들었습니다.\n\n Stack Navigation을 사용해 화면 이동이 가능합니다.\n\n OnBoarding 화면에서는 닉네임을 입력받습니다.\n 이때 닉네임은 AsyncStorage에 저장했습니다\n\n 채팅 형식의 화면에서 추억을 만들기 위한 정보를 사용자에게 입력 받아 저장했습니다.\n 사용자가 입력한 정보는 리스트 형태로 서버에 전달됩니다.\n IOS 환경에서 input 창이 가려지는 문제를 해결하기 위해 Keyboard, KeyboardEvent를 사용했습니다.\n \n 추억 이미지 결과 페이지에서는 이미지 저장 기능이 존재합니다.\n 이때 react-native-easy-toast를 이용해 토스트 메시지를 생성했습니다.\n "},{id:7,title:"Green Quset",skills:["React","TypeScript","Styled-component","Eslint+Prettier","Recoil"],description:"여행지에서 미션을 찾아 수행하고 소통하며 나만의 식물을 키우는 서비스",duration:"2023.07.03~2023.07.04",part:["Frontend"],git:"https://github.com/UMCHackathon/Hackathon_client",role:"\n 찾은 미션을 확인하고 댓글을 통해 서로의 미션을 볼 수 있습니다.\n 해당 프로젝트는 해커톤에서 진행되어 시간이 부족했습니다.\n 그래서 Recoil을 사용해 데이터를 보여주는 형식으로 임시 구현했습니다.\n 사진과 텍스트가 업로드 가능하며, 사진은 미리보기 기능이 있습니다.\n\n input과 textarea를 이용해 만든 [미션 추가 페이지]에서 사용자가 직접 미션 추가가 가능합니다.\n\n 모바일 화면에 최적화시키기 위해 메뉴는 햄버거 바를 이용해 접을 수 있도록 구현했습니다.\n 해당 메뉴에서 화면 이동이 가능합니다.\n "},{id:8,title:"Todis",skills:["React","TypeScript","Styled-component","Eslint+Prettier"],description:"날씨에 맞는 코디 포인트 추천! 귀여운 아바타로 친구와 OOTD도 공유가 가능한 웹사이트",duration:"2023.07.12~2023.08.23",part:["Frontend","Part Leader"],git:"https://github.com/Todis-UMC/Todis_web",link:"http://todis.s3-website.ap-northeast-2.amazonaws.com/",role:"\n EsLint+Prettier를 사용해 코드 스타일을 일관성 있게 유지했습니다.\n Font를 편하게 사용하기 위해 CSSProperties를 사용해 스타일을 정의했습니다.\n\n Input 컴포넌트를 만들었습니다. 기본적인 text input으로 사용이 가능하며 type으로 password를 줄 경우에는 입력 값을 숨길 수 있는 버튼이 활성화됩니다.\n 로그인, 회원가입 등의 화면 구현을 위한 컴포넌트를 만들어 사용했습니다.\n\n 이메일과 비밀번호를 통해 로그인이 가능하며, 로그인 시에는 토큰을 발급받아 localStorage에 저장했습니다.\n 구글과 카카오를 통한 로그인도 가능합니다.\n\n 회원가입 시에는 이메일, 비밀번호, 닉네임을 입력받습니다.\n 닉네임과 비밀번호는 회원정보 수정 페이지에서 변경이 가능합니다.\n 비밀번호를 잊은 사용자를 위한 비밀번호 찾기 페이지도 구현했습니다. 사용자가 입력한 이메일로 임시 비밀번호가 발급됩니다.\n\n 모바일 상태의 사이드 메뉴를 구현했습니다.\n keyframes를 사용해 애니메이션을 추가했습니다.\n\n 모바일 사용자를 위한 반응형 웹을 구현했습니다.\n styled-component에서 @media를 사용해 화면 크기에 따라 스타일을 변경했습니다.\n 스타일의 변경이 많은 경우 window.innerWidth를 이용해 만든 컴포넌트를 활용해 화면 크기에 따라 컴포넌트를 렌더링했습니다.\n\n react-toastify를 사용해 토스트 메시지를 구현했습니다.\n react-spinners를 사용해 로딩 중임을 알려주는 컴포넌트를 구현했습니다.\n "},{id:9,title:"Landing Page",skills:["React","TypeScript","Styled-component","Eslint+Prettier"],description:"Landing Page",duration:"2023.08.08~2023.09.08",part:["Frontend"],git:"https://github.com/DLenc/Randing",role:"\n EsLint+Prettier를 사용해 코드 스타일을 일관성 있게 유지했습니다.\n Font를 편하게 사용하기 위해 CSSProperties를 사용해 스타일을 정의했습니다.\n Color를 편하게 사용하기 위해 Color를 정의한 파일을 만들어 사용했습니다.\n\n 랜딩 페이지의 최상단의 표지를 구현했습니다.\n 중간의 배너를 구현했습니다.\n\n 층간 소음이 발생할 정도의 소음이 생기면 알려주는 기능을 소개하는 섹션을 구현했습니다.\n\n 디자인 상 페이지에서 빠지게 되었지만,\n react-you-tube를 사용해 유튜브 영상을 불러오는 기능을 구현했습니다.\n &::-webkit-scrollbar를 이용해 스크롤바의 스타일을 변경했습니다.\n "}]},1825:function(n,t,e){"use strict";e.r(t),e.d(t,{default:function(){return k}});var i=e(2729),r=e(5893),o=e(7294),l=e(5675),c=e.n(l),a=e(1686),s=e(1852);function d(){let n=(0,i._)(["\n width: fit-content;\n margin: 50px;\n"]);return d=function(){return n},n}function p(){let n=(0,i._)(["\n width: 300px;\n height: 200px;\n overflow: hidden;\n border-radius: 10px;\n box-shadow: 5px 5px 5px 1px lightgray;\n cursor: pointer;\n border: 1px solid lightgray;\n @media (max-width: 768px) {\n width: 250px;\n height: 150px;\n }\n"]);return p=function(){return n},n}function h(){let n=(0,i._)(["\n font-size: 1.2rem;\n font-weight: semi-bold;\n margin-top: 10px;\n text-align: center;\n"]);return h=function(){return n},n}let u=a.ZP.div.withConfig({componentId:"sc-91880d4c-0"})(d()),g=a.ZP.div.withConfig({componentId:"sc-91880d4c-1"})(p()),f=a.ZP.div.withConfig({componentId:"sc-91880d4c-2"})(h());var m=n=>{let{project:t}=n,e=(0,s.useMediaQuery)({query:"(max-width: 768px)"});return(0,r.jsxs)(u,{children:[(0,r.jsx)(g,{children:(0,r.jsx)(c(),{src:"https://alreadynyeong.github.io/Portfolio/projects/".concat(t.id,".png"),width:e?250:300,height:e?150:200,alt:""})}),(0,r.jsxs)(f,{children:["[ ",t.title," ]"]})]})},S=e(1765);function y(){let n=(0,i._)(["\n width: fit-content;\n margin: 0 auto;\n cursor: pointer;\n transition: transform 0.7s;\n &:hover {\n transform: scale(1.1);\n }\n"]);return y=function(){return n},n}function x(){let n=(0,i._)(["\n margin-left: 50px;\n margin-top: 20px;\n"]);return x=function(){return n},n}function v(){let n=(0,i._)(["\n color: ",";\n display: inline-block;\n border: 1px solid ",";\n margin-left: 10px;\n padding: 7px;\n border-radius: 12px;\n font-size: 0.8rem;\n cursor: pointer;\n"]);return v=function(){return n},n}let w=a.ZP.div.withConfig({componentId:"sc-f8688750-0"})(y()),P=a.ZP.div.withConfig({componentId:"sc-f8688750-1"})(x()),b=a.ZP.div.withConfig({componentId:"sc-f8688750-2"})(v(),n=>n.active?"green":"gray",n=>n.active?"green":"gray");var k=()=>{let[n,t]=(0,o.useState)([]),e=e=>{n.includes(e)?t(n.filter(n=>n!==e)):t([...n,e])};return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{children:(0,r.jsxs)(P,{children:[(0,r.jsx)(c(),{src:"https://alreadynyeong.github.io/Portfolio/Filter.png",width:20,height:20,alt:""}),(0,r.jsx)(b,{onClick:()=>e("React"),active:n.includes("React"),children:"React"}),(0,r.jsx)(b,{onClick:()=>e("React-native"),active:n.includes("React-native"),children:"React-native"}),(0,r.jsx)(b,{onClick:()=>e("Node.js"),active:n.includes("Node.js"),children:"Node.js"})]})}),S.l.slice().reverse().filter(t=>0===n.length||n.some(n=>t.skills.includes(n))).map(n=>(0,r.jsx)(w,{children:(0,r.jsx)("a",{href:"/Portfolio/project?id=".concat(n.id),children:(0,r.jsx)(m,{project:n})})},n.id))]})}}},function(n){n.O(0,[774,888,179],function(){return n(n.s=6192)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/_next/static/_BuredH-vPTO-PsE-skBU/_buildManifest.js b/_next/static/u2dJs7CNIkLaRfBZPtRwR/_buildManifest.js similarity index 77% rename from _next/static/_BuredH-vPTO-PsE-skBU/_buildManifest.js rename to _next/static/u2dJs7CNIkLaRfBZPtRwR/_buildManifest.js index c9ef4a3..3342359 100644 --- a/_next/static/_BuredH-vPTO-PsE-skBU/_buildManifest.js +++ b/_next/static/u2dJs7CNIkLaRfBZPtRwR/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/pages/index-d9e860357821cfd7.js"],"/_error":["static/chunks/pages/_error-54de1933a164a1ff.js"],"/about":["static/chunks/pages/about-83fba4d6fb40b2a9.js"],"/activity":["static/chunks/pages/activity-e617e3a3561fbc73.js"],"/project":["static/chunks/pages/project-d3cc3b5f924b0b07.js"],"/projects":["static/chunks/pages/projects-a75982bc91ac7a26.js"],sortedPages:["/","/_app","/_error","/about","/activity","/project","/projects"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/pages/index-d9e860357821cfd7.js"],"/_error":["static/chunks/pages/_error-54de1933a164a1ff.js"],"/about":["static/chunks/pages/about-83fba4d6fb40b2a9.js"],"/activity":["static/chunks/pages/activity-e617e3a3561fbc73.js"],"/project":["static/chunks/pages/project-8fb21bd53785bcf3.js"],"/projects":["static/chunks/pages/projects-6c3ede11a5748051.js"],sortedPages:["/","/_app","/_error","/about","/activity","/project","/projects"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/_BuredH-vPTO-PsE-skBU/_ssgManifest.js b/_next/static/u2dJs7CNIkLaRfBZPtRwR/_ssgManifest.js similarity index 100% rename from _next/static/_BuredH-vPTO-PsE-skBU/_ssgManifest.js rename to _next/static/u2dJs7CNIkLaRfBZPtRwR/_ssgManifest.js diff --git a/about.html b/about.html index fdc5c92..8912c98 100644 --- a/about.html +++ b/about.html @@ -1 +1 @@ -Portfolio
Home
About
Activity
Projects
Lee Min Hyeong
+
학력
성신여자대학교 컴퓨터공학과2019.03 ~
자격증
정보처리기사2022.11.25
수상
제 4회 UMC 해커톤2023.07.04최우수상>
제 4회 NE(O)RDINARY 해커톤2023.06.11우수상>
2022 SSWU 소프트웨어 경진대회2022.09.15은상>
스킬
Skill
React.js
Next.js
ReactNative
Node.js
Language
JavaScript
TypeScript
Python
Tool
Git/GitHub
Figma
Discord/Slack
Jira/Confluence
\ No newline at end of file +Portfolio
Home
About
Activity
Projects
Lee Min Hyeong
+
학력
성신여자대학교 컴퓨터공학과2019.03 ~
자격증
정보처리기사2022.11.25
수상
제 4회 UMC 해커톤2023.07.04최우수상>
제 4회 NE(O)RDINARY 해커톤2023.06.11우수상>
2022 SSWU 소프트웨어 경진대회2022.09.15은상>
스킬
Skill
React.js
Next.js
ReactNative
Node.js
Language
JavaScript
TypeScript
Python
Tool
Git/GitHub
Figma
Discord/Slack
Jira/Confluence
\ No newline at end of file diff --git a/activity.html b/activity.html index 994ace0..cbbcc00 100644 --- a/activity.html +++ b/activity.html @@ -1 +1 @@ -Portfolio
Home
About
Activity
Projects
Lee Min Hyeong
+
활동
[ DLenc 층간소음 프로젝트 ] 2023.08~2023.09
Frontend 개발자
대전 연구소 층간 소음 견학
NE(O)RDINARY 데모데이 부스 참여
KPRA 컨텐츠 기반 랜딩페이지 제작
Landing Page>
[ UMC 4th SSWU ] 2023.03~
Member
4회 NE(O)RDINARY 해커톤 우수상
Re:MEMORY>
4회 UMC 해커톤 우수상
Green Quest>
프로젝트 참여
Todis>
[ 수정광산 SaltyLab 1기 ] 2022.10~2023.10
Frontend 개발팀
수정광산>
[ GDSC SSWU 4th ] 2022.09~2023.06
교육팀 팀장
GDSC SSWU 4기 홈페이지 제작
GDSC SSWU>
Google Solution Challenge 참가
withParents>
\ No newline at end of file +Portfolio
Home
About
Activity
Projects
Lee Min Hyeong
+
활동
[ DLenc 층간소음 프로젝트 ] 2023.08~2023.09
Frontend 개발자
대전 연구소 층간 소음 견학
NE(O)RDINARY 데모데이 부스 참여
KPRA 컨텐츠 기반 랜딩페이지 제작
Landing Page>
[ UMC 4th SSWU ] 2023.03~
Member
4회 NE(O)RDINARY 해커톤 우수상
Re:MEMORY>
4회 UMC 해커톤 우수상
Green Quest>
프로젝트 참여
Todis>
[ 수정광산 SaltyLab 1기 ] 2022.10~2023.10
Frontend 개발팀
수정광산>
[ GDSC SSWU 4th ] 2022.09~2023.06
교육팀 팀장
GDSC SSWU 4기 홈페이지 제작
GDSC SSWU>
Google Solution Challenge 참가
withParents>
\ No newline at end of file diff --git a/index.html b/index.html index 5c7d56b..c5b0ede 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Portfolio
Home
About
Activity
Projects
Lee Min Hyeong
+
안녕하세요.
WEB 개발자
>
이민형입니다.
\ No newline at end of file +Portfolio
Home
About
Activity
Projects
Lee Min Hyeong
+
안녕하세요.
WEB 개발자
>
이민형입니다.
\ No newline at end of file diff --git a/project.html b/project.html index ee47473..bfabe44 100644 --- a/project.html +++ b/project.html @@ -1 +1 @@ -Portfolio
Home
About
Activity
Projects
Lee Min Hyeong
+
프로젝트를 찾을 수 없습니다.
\ No newline at end of file +Portfolio
Home
About
Activity
Projects
Lee Min Hyeong
+
프로젝트를 찾을 수 없습니다.
\ No newline at end of file diff --git a/projects.html b/projects.html index a7a377b..f229006 100644 --- a/projects.html +++ b/projects.html @@ -1 +1 @@ -Portfolio
Home
About
Activity
Projects
Lee Min Hyeong
+
React
React-native
Node.js
\ No newline at end of file +Portfolio
Home
About
Activity
Projects
Lee Min Hyeong
+
React
React-native
Node.js
\ No newline at end of file