diff --git a/packages/frontend/package.json b/packages/frontend/package.json
index 067b43c4..d0ce21e7 100644
--- a/packages/frontend/package.json
+++ b/packages/frontend/package.json
@@ -13,6 +13,7 @@
},
"dependencies": {
"@tanstack/react-query": "^5.59.19",
+ "axios": "^1.7.7",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"lightweight-charts": "^4.2.1",
diff --git a/packages/frontend/src/apis/index.ts b/packages/frontend/src/apis/index.ts
new file mode 100644
index 00000000..3d6b587e
--- /dev/null
+++ b/packages/frontend/src/apis/index.ts
@@ -0,0 +1,6 @@
+import axios from 'axios';
+
+export const instance = axios.create({
+ baseURL: import.meta.env.VITE_BASE_URL,
+ timeout: 1000,
+});
diff --git a/packages/frontend/src/assets/google.png b/packages/frontend/src/assets/google.png
new file mode 100644
index 00000000..33d8f0ee
Binary files /dev/null and b/packages/frontend/src/assets/google.png differ
diff --git a/packages/frontend/src/assets/kakao.png b/packages/frontend/src/assets/kakao.png
new file mode 100644
index 00000000..a5f29e98
Binary files /dev/null and b/packages/frontend/src/assets/kakao.png differ
diff --git a/packages/frontend/src/assets/naver.png b/packages/frontend/src/assets/naver.png
new file mode 100644
index 00000000..e3da3450
Binary files /dev/null and b/packages/frontend/src/assets/naver.png differ
diff --git a/packages/frontend/src/pages/login/Login.tsx b/packages/frontend/src/pages/login/Login.tsx
new file mode 100644
index 00000000..33b0551f
--- /dev/null
+++ b/packages/frontend/src/pages/login/Login.tsx
@@ -0,0 +1,37 @@
+import { Link } from 'react-router-dom';
+import google from '@/assets/google.png';
+import kakao from '@/assets/kakao.png';
+import naver from '@/assets/naver.png';
+
+interface LoginButtonProps {
+ to: string;
+ src: string;
+ alt: string;
+}
+
+export const Login = () => {
+ return (
+
+
+
+
+ 스마트한 투자의 첫걸음,
+ 주춤주춤과 함께해요!
+
+
+
+
+ );
+};
+
+export const LoginButton = ({ to, src, alt }: LoginButtonProps) => {
+ return (
+
+
+
+ );
+};
diff --git a/packages/frontend/src/pages/login/index.ts b/packages/frontend/src/pages/login/index.ts
new file mode 100644
index 00000000..a10c3a83
--- /dev/null
+++ b/packages/frontend/src/pages/login/index.ts
@@ -0,0 +1 @@
+export * from './Login';
diff --git a/packages/frontend/src/routes/index.tsx b/packages/frontend/src/routes/index.tsx
index e49f80a4..0ee8d743 100644
--- a/packages/frontend/src/routes/index.tsx
+++ b/packages/frontend/src/routes/index.tsx
@@ -1,6 +1,7 @@
import { createBrowserRouter } from 'react-router-dom';
import { Layout } from '@/components/layouts';
import { Home } from '@/pages/home';
+import { Login } from '@/pages/login';
import { MyPage } from '@/pages/my-page';
import { StockDetail } from '@/pages/stock-detail';
import { Stocks } from '@/pages/stocks';
@@ -25,6 +26,10 @@ export const router = createBrowserRouter([
path: '/my-page',
element: ,
},
+ {
+ path: '/login',
+ element: ,
+ },
],
},
]);
diff --git a/yarn.lock b/yarn.lock
index 7612ff5b..909d52d2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2752,6 +2752,15 @@ available-typed-arrays@^1.0.7:
dependencies:
possible-typed-array-names "^1.0.0"
+axios@^1.7.7:
+ version "1.7.7"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f"
+ integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==
+ dependencies:
+ follow-redirects "^1.15.6"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
babel-jest@^29.7.0:
version "29.7.0"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5"
@@ -4456,6 +4465,11 @@ flatted@^3.2.9:
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a"
integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==
+follow-redirects@^1.15.6:
+ version "1.15.9"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
+ integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
+
for-each@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
@@ -6711,6 +6725,11 @@ proxy-addr@~2.0.7:
forwarded "0.2.0"
ipaddr.js "1.9.1"
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
punycode@^2.1.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"