diff --git a/apps/mobile/src/app/about/page.tsx b/apps/mobile/src/app/about/page.tsx
index f251f55..86da0e9 100644
--- a/apps/mobile/src/app/about/page.tsx
+++ b/apps/mobile/src/app/about/page.tsx
@@ -3,12 +3,12 @@ import hyojun from '@/shared/assets/images/rankit_developer_HJKIM.jpg';
import seungjun from '@/shared/assets/images/rankit_developer_SJLEE.jpg';
import wooseok from '@/shared/assets/images/rankit_developer_WSPARK.jpg';
import ImsiImg from '@/shared/assets/svgs/imsiImg.svg';
-import Tier1 from '@/shared/assets/svgs/tier/sm/tier_1.svg';
-import Tier2 from '@/shared/assets/svgs/tier/sm/tier_2.svg';
-import Tier3 from '@/shared/assets/svgs/tier/sm/tier_3.svg';
-import Tier4 from '@/shared/assets/svgs/tier/sm/tier_4.svg';
-import Tier5 from '@/shared/assets/svgs/tier/sm/tier_5.svg';
-import Tier6 from '@/shared/assets/svgs/tier/sm/tier_6.svg';
+import Tier1 from '@/shared/assets/svgs/tier/default/tier_1.svg';
+import Tier2 from '@/shared/assets/svgs/tier/default/tier_2.svg';
+import Tier3 from '@/shared/assets/svgs/tier/default/tier_3.svg';
+import Tier4 from '@/shared/assets/svgs/tier/default/tier_4.svg';
+import Tier5 from '@/shared/assets/svgs/tier/default/tier_5.svg';
+import Tier6 from '@/shared/assets/svgs/tier/default/tier_6.svg';
import AboutDeveloper from './_components/aboutDeveloper/aboutDeveloper';
import {
container,
diff --git a/apps/mobile/src/app/user/[userId]/UserPage.css.ts b/apps/mobile/src/app/user/[userId]/UserPage.css.ts
new file mode 100644
index 0000000..6b83d03
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/UserPage.css.ts
@@ -0,0 +1,90 @@
+import { style } from '@vanilla-extract/css';
+import { globalTheme } from '../../../shared/styles/globalTheme.css';
+
+export const flexColumnCenter = style({
+ display: 'flex',
+ flexDirection: 'column',
+ alignItems: 'center',
+});
+
+export const containerStyle = style([
+ flexColumnCenter,
+ {
+ width: '100%',
+ },
+]);
+
+export const divStyle = style({
+ width: '39.3rem',
+});
+
+export const sharedDivStyle = style({
+ display: 'flex',
+ flexDirection: 'column',
+ flexWrap: 'wrap',
+
+ margin: '0 auto',
+ padding: '0 2.1rem',
+});
+
+export const topDivStyle = style({
+ paddingTop: '4rem',
+ backgroundColor: globalTheme.colors.white,
+});
+
+export const buttonDivStyle = style({
+ display: 'flex',
+ justifyContent: 'flex-end',
+ gap: '0.8rem',
+ marginTop: '8.8rem',
+ marginBottom: '8.8rem',
+});
+
+export const middleDivStyle = style({
+ backgroundColor: globalTheme.colors.gray_bg_06,
+});
+
+export const middleContentDivStyle = style({
+ display: 'flex',
+ flexWrap: 'wrap',
+ gap: '1.7rem',
+ marginTop: '10.4rem',
+ marginBottom: '8.8rem',
+});
+
+export const bottomDivStyle = style({
+ minHeight: 669,
+ backgroundColor: globalTheme.colors.white,
+});
+
+export const bottomDivHeadingStyle = style({
+ ...globalTheme.fonts.headBold24,
+ marginTop: '8.8rem',
+ color: globalTheme.colors.gray_19,
+});
+
+export const bottomDivRefreshButtonStyle = style({
+ ...globalTheme.fonts.headerReg16,
+ color: globalTheme.colors.blue_33,
+ textAlign: 'end',
+});
+
+export const listStyle = style({
+ display: 'flex',
+ flexWrap: 'wrap',
+ gap: '1.7rem',
+ justifyContent: 'space-between',
+ marginTop: '2rem',
+ marginBottom: '6.8rem',
+});
+
+export const flexColumn = style({
+ display: 'flex',
+ flexDirection: 'column',
+});
+
+export const topSectionStyle = style({
+ display: 'flex',
+ flexDirection: 'column',
+ gap: '4.4rem',
+});
diff --git a/apps/mobile/src/app/user/[userId]/_components/SVGTier/SVGTier.tsx b/apps/mobile/src/app/user/[userId]/_components/SVGTier/SVGTier.tsx
new file mode 100644
index 0000000..60fa7e6
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/SVGTier/SVGTier.tsx
@@ -0,0 +1,64 @@
+import { SVGAttributes, FC } from 'react';
+import Tier1DefaultIcon from '@/shared/assets/svgs/tier/default/tier_1.svg';
+import Tier2DefaultIcon from '@/shared/assets/svgs/tier/default/tier_2.svg';
+import Tier3DefaultIcon from '@/shared/assets/svgs/tier/default/tier_3.svg';
+import Tier4DefaultIcon from '@/shared/assets/svgs/tier/default/tier_4.svg';
+import Tier5DefaultIcon from '@/shared/assets/svgs/tier/default/tier_5.svg';
+import Tier6DefaultIcon from '@/shared/assets/svgs/tier/default/tier_6.svg';
+import Tier1LargeIcon from '@/shared/assets/svgs/tier/lg/tier_1.svg';
+import Tier2LargeIcon from '@/shared/assets/svgs/tier/lg/tier_2.svg';
+import Tier3LargeIcon from '@/shared/assets/svgs/tier/lg/tier_3.svg';
+import Tier4LargeIcon from '@/shared/assets/svgs/tier/lg/tier_4.svg';
+import Tier5LargeIcon from '@/shared/assets/svgs/tier/lg/tier_5.svg';
+import Tier6LargeIcon from '@/shared/assets/svgs/tier/lg/tier_6.svg';
+import Tier1SmallIcon from '@/shared/assets/svgs/tier/sm/tier_1.svg';
+import Tier2SmallIcon from '@/shared/assets/svgs/tier/sm/tier_2.svg';
+import Tier3SmallIcon from '@/shared/assets/svgs/tier/sm/tier_3.svg';
+import Tier4SmallIcon from '@/shared/assets/svgs/tier/sm/tier_4.svg';
+import Tier5SmallIcon from '@/shared/assets/svgs/tier/sm/tier_5.svg';
+import Tier6SmallIcon from '@/shared/assets/svgs/tier/sm/tier_6.svg';
+
+interface SVGTierProps extends SVGAttributes {
+ size?: 'default' | 'sm' | 'lg';
+ tier?: number;
+}
+
+const defaultComponent: Record>> = {
+ 1: Tier1DefaultIcon,
+ 2: Tier2DefaultIcon,
+ 3: Tier3DefaultIcon,
+ 4: Tier4DefaultIcon,
+ 5: Tier5DefaultIcon,
+ 6: Tier6DefaultIcon,
+};
+
+const lgComponent: Record>> = {
+ 1: Tier1LargeIcon,
+ 2: Tier2LargeIcon,
+ 3: Tier3LargeIcon,
+ 4: Tier4LargeIcon,
+ 5: Tier5LargeIcon,
+ 6: Tier6LargeIcon,
+};
+
+const smComponent: Record>> = {
+ 1: Tier1SmallIcon,
+ 2: Tier2SmallIcon,
+ 3: Tier3SmallIcon,
+ 4: Tier4SmallIcon,
+ 5: Tier5SmallIcon,
+ 6: Tier6SmallIcon,
+};
+
+const SVGTier = ({ size = 'default', tier = 1, ...props }: SVGTierProps) => {
+ const TierComponent =
+ size === 'default'
+ ? defaultComponent[tier]
+ : size === 'lg'
+ ? lgComponent[tier]
+ : smComponent[tier];
+
+ return ;
+};
+
+export default SVGTier;
diff --git a/apps/mobile/src/app/user/[userId]/_components/cardInfo/cardInfo.css.ts b/apps/mobile/src/app/user/[userId]/_components/cardInfo/cardInfo.css.ts
new file mode 100644
index 0000000..235db01
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/cardInfo/cardInfo.css.ts
@@ -0,0 +1,32 @@
+import { style } from '@vanilla-extract/css';
+import { globalTheme } from '@/shared/styles/globalTheme.css';
+
+export const containerStyle = style({
+ display: 'flex',
+ justifyContent: 'center',
+ alignItems: 'center',
+ borderRadius: 8,
+ position: 'relative',
+ width: 167,
+ height: 145,
+ color: globalTheme.colors.gray_19,
+ backgroundColor: globalTheme.colors.gray_bg_04,
+});
+
+export const headingStyle = style({
+ ...globalTheme.fonts.mobileDetailReg14,
+ position: 'absolute',
+ top: '1.6rem',
+ left: '1.6rem',
+});
+
+export const contentParagraphStyle = style({
+ ...globalTheme.fonts.mobileTitleBold28,
+});
+
+export const subContentParagraphStyle = style({
+ ...globalTheme.fonts.mobileDetailReg14,
+ position: 'absolute',
+ bottom: '1.6rem',
+ left: '1.6rem',
+});
diff --git a/apps/mobile/src/app/user/[userId]/_components/cardInfo/cardInfo.tsx b/apps/mobile/src/app/user/[userId]/_components/cardInfo/cardInfo.tsx
new file mode 100644
index 0000000..8d8cc85
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/cardInfo/cardInfo.tsx
@@ -0,0 +1,24 @@
+import {
+ containerStyle,
+ contentParagraphStyle,
+ headingStyle,
+ subContentParagraphStyle,
+} from './cardInfo.css';
+
+interface cardInfoProps {
+ title: string;
+ content: string;
+ subContent?: string;
+}
+
+const CardInfo = ({ title, content, subContent }: cardInfoProps) => {
+ return (
+
+
{title}
+
{content}
+ {subContent &&
{subContent}
}
+
+ );
+};
+
+export default CardInfo;
diff --git a/apps/mobile/src/app/user/[userId]/_components/cardProfile/cardProfile.css.ts b/apps/mobile/src/app/user/[userId]/_components/cardProfile/cardProfile.css.ts
new file mode 100644
index 0000000..77ab20e
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/cardProfile/cardProfile.css.ts
@@ -0,0 +1,53 @@
+import { style } from '@vanilla-extract/css';
+import { globalTheme } from '@/shared/styles/globalTheme.css';
+
+export const containerStyle = style({
+ border: `1px solid ${globalTheme.colors.gray_stroke}`,
+ borderRadius: 8,
+ width: '16.7rem',
+ overflow: 'hidden',
+});
+
+export const imageDivStyle = style({
+ borderRadius: 8,
+ width: '16.7rem',
+ height: '16.7rem',
+});
+
+export const imageStyle = style({
+ objectFit: 'cover',
+});
+
+export const contentDivStyle = style({
+ paddingTop: '0.73rem',
+ paddingLeft: '1rem',
+ paddingRight: '1rem',
+});
+
+export const languageParagraphStyle = style({
+ ...globalTheme.fonts.mobileDetailSemiBold14,
+ color: globalTheme.colors.blue_main,
+ marginBottom: '0.36rem',
+});
+
+export const titleDivStyle = style({
+ ...globalTheme.fonts.mobileHeadSemiBold18,
+ display: 'flex',
+ alignItems: 'row',
+ gap: '0.3rem',
+});
+
+export const labelDivStyle = style({
+ display: 'flex',
+ gap: '0.5em',
+});
+
+export const labelStyle = style({
+ ...globalTheme.fonts.detailMed12,
+ marginTop: '1.0rem',
+ marginBottom: '1.36rem',
+ borderRadius: 4,
+ padding: '0.4rem 0.8rem',
+ color: globalTheme.colors.blue_66,
+ backgroundColor: globalTheme.colors.gray_bg_04,
+});
diff --git a/apps/mobile/src/app/user/[userId]/_components/cardProfile/cardProfile.tsx b/apps/mobile/src/app/user/[userId]/_components/cardProfile/cardProfile.tsx
new file mode 100644
index 0000000..90ffbe5
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/cardProfile/cardProfile.tsx
@@ -0,0 +1,59 @@
+import Image from 'next/image';
+import SVGTier from '../SVGTier/SVGTier';
+import {
+ containerStyle,
+ contentDivStyle,
+ imageDivStyle,
+ labelDivStyle,
+ labelStyle,
+ languageParagraphStyle,
+ titleDivStyle,
+} from './cardProfile.css';
+
+interface CardProfileProps {
+ profileSrc?: string;
+ language: string;
+ tier: number;
+ userName: string;
+ school: string;
+ region: string;
+}
+
+const CardProfile = ({
+ profileSrc = 'https://avatars.githubusercontent.com/u/127329855?v=4',
+ language,
+ tier,
+ userName,
+ school,
+ region,
+}: CardProfileProps) => {
+ return (
+
+
+
+
+
+
+
{language}
+
+
+
+
{userName}
+
+
+
+ {school}
+ {region}
+
+
+
+ );
+};
+
+export default CardProfile;
diff --git a/apps/mobile/src/app/user/[userId]/_components/introduction/introduction.css.ts b/apps/mobile/src/app/user/[userId]/_components/introduction/introduction.css.ts
new file mode 100644
index 0000000..4e18bb1
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/introduction/introduction.css.ts
@@ -0,0 +1,32 @@
+import { style } from '@vanilla-extract/css';
+import { globalTheme } from '@/shared/styles/globalTheme.css';
+
+export const headingTitleStyle = style({
+ ...globalTheme.fonts.headBold36,
+ color: globalTheme.colors.gray_19,
+ width: '100%',
+ whiteSpace: 'normal',
+});
+
+export const headingSubTitleStyle = style({
+ ...globalTheme.fonts.mobileTitleSemiBold20,
+ color: globalTheme.colors.gray_19,
+});
+
+export const paragraphContentStyle = style({
+ ...globalTheme.fonts.mobileBodyReg16,
+ color: globalTheme.colors.blue_33,
+});
+
+export const contentDivStyle = style({
+ display: 'flex',
+ flexDirection: 'column',
+ gap: '4.8rem',
+ marginTop: '4.3rem',
+});
+
+export const contentStyle = style({
+ display: 'flex',
+ flexDirection: 'column',
+ gap: '1.6rem',
+});
diff --git a/apps/mobile/src/app/user/[userId]/_components/introduction/introduction.tsx b/apps/mobile/src/app/user/[userId]/_components/introduction/introduction.tsx
new file mode 100644
index 0000000..41d3bb5
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/introduction/introduction.tsx
@@ -0,0 +1,42 @@
+import {
+ headingTitleStyle,
+ headingSubTitleStyle,
+ paragraphContentStyle,
+ contentDivStyle,
+ contentStyle,
+} from './introduction.css';
+
+const Introduction = () => {
+ return (
+
+
+ {'//수정 버튼을 눌러 자기소개를 수정해주세요'}
+
+
+
+
+
{'{jamooooong}의 한줄 소개'}
+
+ {'//수정 버튼을 눌러 자기소개를 수정해주세요.'}
+
+
+
+
+
저는 이런거를 잘해요.
+
+ {'//수정 버튼을 눌러 자기소개를 수정해주세요.'}
+
+
+
+
+
저는 이런걸 배우고 싶어요.
+
+ {'//수정 버튼을 눌러 자기소개를 수정해주세요.'}
+
+
+
+
+ );
+};
+
+export default Introduction;
diff --git a/apps/mobile/src/app/user/[userId]/_components/profile/_components/buttonGithub/buttonGithub.css.ts b/apps/mobile/src/app/user/[userId]/_components/profile/_components/buttonGithub/buttonGithub.css.ts
new file mode 100644
index 0000000..f902da6
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/profile/_components/buttonGithub/buttonGithub.css.ts
@@ -0,0 +1,13 @@
+import { style } from '@vanilla-extract/css';
+import { globalTheme } from '../../../../../../../shared/styles/globalTheme.css';
+
+export const buttonStyle = style({
+ display: 'flex',
+ alignItems: 'center',
+ gap: '0.8rem',
+});
+
+export const paragraphGithubStyle = style({
+ ...globalTheme.fonts.bodyReg16,
+ color: globalTheme.colors.gray_71,
+});
diff --git a/apps/mobile/src/app/user/[userId]/_components/profile/_components/buttonGithub/buttonGithub.tsx b/apps/mobile/src/app/user/[userId]/_components/profile/_components/buttonGithub/buttonGithub.tsx
new file mode 100644
index 0000000..b6c5e8e
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/profile/_components/buttonGithub/buttonGithub.tsx
@@ -0,0 +1,13 @@
+import GithubIcon from '@/shared/assets/svgs/github_btn.svg';
+import { buttonStyle, paragraphGithubStyle } from './buttonGithub.css';
+
+const ButtonGithub = () => {
+ return (
+
+ );
+};
+
+export default ButtonGithub;
diff --git a/apps/mobile/src/app/user/[userId]/_components/profile/profile.css.ts b/apps/mobile/src/app/user/[userId]/_components/profile/profile.css.ts
new file mode 100644
index 0000000..e5e01c0
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/profile/profile.css.ts
@@ -0,0 +1,44 @@
+import { style } from '@vanilla-extract/css';
+import { globalTheme } from '@/shared/styles/globalTheme.css';
+
+export const containerStyle = style({
+ display: 'flex',
+ flexDirection: 'row',
+});
+
+export const paragraphLanguageStyle = style({
+ ...globalTheme.fonts.mobileBodyMed16,
+ color: globalTheme.colors.blue_main,
+});
+
+export const headingNameStyle = style({
+ ...globalTheme.fonts.mobileTitleBold28,
+ color: globalTheme.colors.gray_19,
+ marginTop: '0.7rem',
+ marginBottom: '1.2rem',
+});
+
+export const divStyle = style({
+ display: 'flex',
+ flexDirection: 'column',
+ marginTop: '0.5rem',
+ marginLeft: '1.2rem',
+});
+
+export const nameDivStyle = style({
+ display: 'flex',
+ marginTop: '0.7rem',
+ marginBottom: '1.2rem',
+});
+
+export const profileImgDivStyle = style({
+ position: 'relative',
+ display: 'flex',
+ flexDirection: 'row',
+});
+
+export const tierImgStyle = style({
+ position: 'absolute',
+ top: '8.8rem',
+ left: '8.8rem',
+});
diff --git a/apps/mobile/src/app/user/[userId]/_components/profile/profile.tsx b/apps/mobile/src/app/user/[userId]/_components/profile/profile.tsx
new file mode 100644
index 0000000..ab3b0c0
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/profile/profile.tsx
@@ -0,0 +1,31 @@
+import CircleImage from '@/shared/components/circleImage/circleImage';
+import SVGTier from '../SVGTier/SVGTier';
+import ButtonGithub from './_components/buttonGithub/buttonGithub';
+import {
+ paragraphLanguageStyle,
+ headingNameStyle,
+ divStyle,
+ nameDivStyle,
+ containerStyle,
+ profileImgDivStyle,
+ tierImgStyle,
+} from './profile.css';
+
+const Profile = () => {
+ return (
+
+
+
+
+
+
+
+
javascript
+
jamooong
+
+
+
+ );
+};
+
+export default Profile;
diff --git a/apps/mobile/src/app/user/[userId]/_components/progressBar/progressBar.css.ts b/apps/mobile/src/app/user/[userId]/_components/progressBar/progressBar.css.ts
new file mode 100644
index 0000000..a07ac33
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/progressBar/progressBar.css.ts
@@ -0,0 +1,75 @@
+import { style, createVar, keyframes } from '@vanilla-extract/css';
+import { globalTheme } from '@/shared/styles/globalTheme.css';
+
+const widthVar = createVar();
+
+export const vars = {
+ widthVar,
+};
+
+const expandWidth = keyframes({
+ '0%': {
+ transform: 'scaleX(0)',
+ },
+ '100%': {
+ transform: 'scaleX(1)',
+ },
+});
+
+export const outsideStyle = style({
+ marginTop: '12rem',
+ borderRadius: 8,
+ position: 'relative',
+ width: '100%',
+ height: '2.4rem',
+ backgroundColor: globalTheme.colors.gray_bg_04,
+});
+
+export const insideStyle = style({
+ position: 'absolute',
+ zIndex: 1,
+ top: 0,
+ left: 0,
+ borderRadius: 8,
+ width: widthVar,
+ height: '2.4rem',
+ backgroundColor: globalTheme.colors.blue_main,
+ transformOrigin: 'left',
+ animation: `${expandWidth} 0.5s ease-in-out`,
+});
+
+export const currentTierStyle = style({
+ position: 'absolute',
+ top: '-3.2rem',
+});
+
+export const nextTierStyle = style({
+ position: 'absolute',
+ top: '-3.2rem',
+ right: 0,
+});
+
+export const currentTierDivStyle = style({
+ ...globalTheme.fonts.bodySemiBold16,
+ display: 'flex',
+ gap: '0.8rem',
+ position: 'absolute',
+ top: '2.8rem',
+ left: 0,
+ color: globalTheme.colors.gray_19,
+});
+
+export const spanStyle = style({
+ ...globalTheme.fonts.detailMed14,
+ color: globalTheme.colors.blue_66,
+});
+
+export const nextTierDivStyle = style({
+ ...globalTheme.fonts.detailMed14,
+ display: 'flex',
+ gap: '0.8rem',
+ position: 'absolute',
+ top: '2.8rem',
+ right: 0,
+ color: globalTheme.colors.blue_66,
+});
diff --git a/apps/mobile/src/app/user/[userId]/_components/progressBar/progressBar.tsx b/apps/mobile/src/app/user/[userId]/_components/progressBar/progressBar.tsx
new file mode 100644
index 0000000..3e761ba
--- /dev/null
+++ b/apps/mobile/src/app/user/[userId]/_components/progressBar/progressBar.tsx
@@ -0,0 +1,48 @@
+import { assignInlineVars } from '@vanilla-extract/dynamic';
+import SVGTier from '../SVGTier/SVGTier';
+import {
+ outsideStyle,
+ insideStyle,
+ currentTierStyle,
+ nextTierStyle,
+ currentTierDivStyle,
+ nextTierDivStyle,
+ vars,
+ spanStyle,
+} from './progressBar.css';
+
+interface ProgressBarProps {
+ width: number;
+ currentTier: number;
+ nextTier: number;
+}
+
+const ProgressBar = ({ width, currentTier, nextTier }: ProgressBarProps) => {
+ const dynamicWidth = `${width}%`;
+
+ return (
+
+
+
+
+
+
+
+
{`level ${1}`}
+
5,000
+
+
+
+
{`level ${2} 까지`}
+
-3,000
+
+
+ );
+};
+
+export default ProgressBar;
diff --git a/apps/mobile/src/app/user/[userId]/page.tsx b/apps/mobile/src/app/user/[userId]/page.tsx
index e69de29..c10a886 100644
--- a/apps/mobile/src/app/user/[userId]/page.tsx
+++ b/apps/mobile/src/app/user/[userId]/page.tsx
@@ -0,0 +1,115 @@
+import Button from '@/shared/components/button/button';
+import {
+ bottomDivHeadingStyle,
+ bottomDivRefreshButtonStyle,
+ bottomDivStyle,
+ buttonDivStyle,
+ containerStyle,
+ divStyle,
+ listStyle,
+ middleContentDivStyle,
+ middleDivStyle,
+ sharedDivStyle,
+ topDivStyle,
+ topSectionStyle,
+} from './UserPage.css';
+import CardInfo from './_components/cardInfo/cardInfo';
+import CardProfile from './_components/cardProfile/cardProfile';
+import Introduction from './_components/introduction/introduction';
+import Profile from './_components/profile/profile';
+import ProgressBar from './_components/progressBar/progressBar';
+
+//임시 목데이터
+const cardProfileData = [
+ {
+ imageSrc: 'https://avatars.githubusercontent.com/u/48755175?v=4',
+ language: 'javascript',
+ tier: 1,
+ userName: 'suwonthugger1',
+ school: '광운대학교',
+ region: '경기도',
+ },
+ {
+ imageSrc: 'https://avatars.githubusercontent.com/u/48755175?v=4',
+ language: 'javascript',
+ tier: 2,
+ userName: 'suwonthugger2',
+ school: '광운대학교',
+ region: '경기도',
+ },
+ {
+ imageSrc: 'https://avatars.githubusercontent.com/u/48755175?v=4',
+ language: 'javascript',
+ tier: 1,
+ userName: 'suwonthugger3',
+ school: '광운대학교',
+ region: '경기도',
+ },
+ {
+ imageSrc: 'https://avatars.githubusercontent.com/u/48755175?v=4',
+ language: 'javascript',
+ tier: 1,
+ userName: 'suwonthugger4',
+ school: '광운대학교',
+ region: '경기도',
+ },
+];
+
+const UserPage = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
추천친구
+
+
+
+
+ {cardProfileData.map((data) => (
+ -
+
+
+ ))}
+
+
+
+
+
+ );
+};
+
+export default UserPage;
diff --git a/apps/mobile/src/app/user/userSetting/main-setting/page.tsx b/apps/mobile/src/app/user/userSetting/main-setting/page.tsx
index 5ef993f..3bf458a 100644
--- a/apps/mobile/src/app/user/userSetting/main-setting/page.tsx
+++ b/apps/mobile/src/app/user/userSetting/main-setting/page.tsx
@@ -50,7 +50,7 @@ const MainSetting = ({ userSchool, userRegion }: MainSettingProps) => {
소속학교 == {userSchool || '학교 없음'}
-
+
@@ -63,7 +63,7 @@ const MainSetting = ({ userSchool, userRegion }: MainSettingProps) => {
소속지역 == {userRegion || '지역 없음'}
-
+
소속지역를 변경할 수 있습니다.
diff --git a/apps/mobile/src/shared/assets/svgs/github_btn.svg b/apps/mobile/src/shared/assets/svgs/github_btn.svg
new file mode 100644
index 0000000..12171fe
--- /dev/null
+++ b/apps/mobile/src/shared/assets/svgs/github_btn.svg
@@ -0,0 +1,3 @@
+
diff --git a/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_1.svg b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_1.svg
new file mode 100644
index 0000000..832e7e9
--- /dev/null
+++ b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_1.svg
@@ -0,0 +1,9 @@
+
diff --git a/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_2.svg b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_2.svg
new file mode 100644
index 0000000..e61cf7d
--- /dev/null
+++ b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_2.svg
@@ -0,0 +1,9 @@
+
diff --git a/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_3.svg b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_3.svg
new file mode 100644
index 0000000..26664cb
--- /dev/null
+++ b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_3.svg
@@ -0,0 +1,9 @@
+
diff --git a/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_4.svg b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_4.svg
new file mode 100644
index 0000000..8021657
--- /dev/null
+++ b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_4.svg
@@ -0,0 +1,9 @@
+
diff --git a/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_5.svg b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_5.svg
new file mode 100644
index 0000000..33db83e
--- /dev/null
+++ b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_5.svg
@@ -0,0 +1,9 @@
+
diff --git a/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_6.svg b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_6.svg
new file mode 100644
index 0000000..b6d21ed
--- /dev/null
+++ b/apps/mobile/src/shared/assets/svgs/tier/Lg/tier_6.svg
@@ -0,0 +1,9 @@
+
diff --git a/apps/mobile/src/shared/assets/svgs/tier/default/tier_1.svg b/apps/mobile/src/shared/assets/svgs/tier/default/tier_1.svg
index 69a8b14..961c3e1 100644
--- a/apps/mobile/src/shared/assets/svgs/tier/default/tier_1.svg
+++ b/apps/mobile/src/shared/assets/svgs/tier/default/tier_1.svg
@@ -1,4 +1,4 @@
-