diff --git a/README.md b/README.md
index 963909f..e61c9d1 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,29 @@
-# React + Vite
+✅ SkillBoost 실행 방법 (명령어 순서 정리)
-This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
+🔵 1. 백엔드 실행 (Spring Boot)
-Currently, two official plugins are available:
+cd D:/IdeaProjects/back
-- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
-- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+./gradlew bootRun
-## React Compiler
-The React Compiler is currently not compatible with SWC. See [this issue](https://github.com/vitejs/vite-plugin-react/issues/428) for tracking the progress.
+또는 IntelliJ에서 Spring Boot 실행 버튼 클릭.
-## Expanding the ESLint configuration
+🔵 2. 프론트 실행 (React + Vite)
-If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
+cd D:/IdeaProjects/front
+
+npm install
+
+npm run dev
+
+🔵 3. 접속
+
+백엔드:
+
+http://localhost:8080
+
+
+프론트:
+
+http://localhost:3000
diff --git a/src/App.jsx b/src/App.jsx
index f3dac04..be249c2 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,6 +1,10 @@
// apps/web/src/App.jsx
import { Routes, Route } from "react-router-dom";
+// 맨 위 import 부분
+import Login from "@/features/auth/Login";
+import GithubCallback from "@/features/auth/GithubCallback";
+
// Feature-based 페이지들
import Home from "./features/home/Home";
import CodingTest from "./features/codingTest/CodingTest";
@@ -27,6 +31,8 @@ export default function App() {
} />
} />
} />
+ } />
+ } />
{/* 404 */}
Not Found} />
diff --git a/src/features/auth/GithubCallback.jsx b/src/features/auth/GithubCallback.jsx
new file mode 100644
index 0000000..3ba758a
--- /dev/null
+++ b/src/features/auth/GithubCallback.jsx
@@ -0,0 +1,26 @@
+// src/features/auth/GithubCallback.jsx
+import { useEffect } from "react";
+import { useLocation, useNavigate } from "react-router-dom";
+
+export default function GithubCallback() {
+ const location = useLocation();
+ const navigate = useNavigate();
+
+ useEffect(() => {
+ const params = new URLSearchParams(location.search);
+ const token = params.get("token"); // ?token=... 이라고 온다고 가정
+
+ if (token) {
+ localStorage.setItem("accessToken", token);
+ navigate("/", { replace: true });
+ } else {
+ navigate("/login", { replace: true });
+ }
+ }, [location, navigate]);
+
+ return (
+