diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 2ef3e69..949c22b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -45,12 +45,13 @@ jobs: run: | ssh -o StrictHostKeyChecking=no -i pirocheck.pem \ ubuntu@${{ secrets.EC2_HOST }} \ - "fuser -k 8080/tcp || true && nohup java -jar pirocheck-0.0.1-SNAPSHOT.jar > log.txt 2>&1 &" - + "fuser -k 8080/tcp || true && \ + cd /home/ubuntu && \ + nohup java -jar pirocheck-0.0.1-SNAPSHOT.jar > log.txt 2>&1 &" - - name: Restart Spring Boot on EC2 - run: | - ssh -o StrictHostKeyChecking=no -i pirocheck.pem ubuntu@${{ secrets.EC2_HOST }} 'bash ~/restart.sh' + # - name: Restart Spring Boot on EC2 + # run: | + # ssh -o StrictHostKeyChecking=no -i pirocheck.pem ubuntu@${{ secrets.EC2_HOST }} 'bash ~/restart.sh' - name: Send Discord notification (Success) diff --git a/frontend/src/Assignment.jsx b/frontend/src/Assignment.jsx index cff140f..f24604a 100644 --- a/frontend/src/Assignment.jsx +++ b/frontend/src/Assignment.jsx @@ -4,6 +4,7 @@ import Header from "./components/Header"; import AssignmentInfoBlock from "./components/AssignmentInfoBlock"; import styles from "./Assignment.module.css"; import { mapStatus } from "./utils/AssignmentStatus.js"; +import { fetchAssignmentsByUser } from "./api/assignment.js"; const Assignment = () => { const [weeks, setWeeks] = useState([]); @@ -16,18 +17,18 @@ const Assignment = () => { if (!userId) return; fetchAssignmentsByUser(userId) - .then((weekData) => { - const formatted = weekData.map((weekItem) => ({ - label: `${weekItem.week}주차 ${weekItem.title}`, - details: weekItem.days.map((dayItem) => ({ - day: dayItem.day, - subject: weekItem.title, - tasks: dayItem.details.map((task) => ({ - label: task.assignmentName, - status: mapStatus(task.status), + .then((weekData) => { + const formatted = weekData.map((weekItem) => ({ + label: `${weekItem.week}주차 ${weekItem.title}`, + details: weekItem.days.map((dayItem) => ({ + day: dayItem.day, + subject: weekItem.title, + tasks: dayItem.details.map((task) => ({ + label: task.assignmentName, + status: mapStatus(task.status), + })), })), - })), - })); + })); setWeeks(formatted); @@ -63,4 +64,3 @@ const Assignment = () => { }; export default Assignment; - diff --git a/frontend/src/Attendance.jsx b/frontend/src/Attendance.jsx index 1abe9db..0e72c16 100644 --- a/frontend/src/Attendance.jsx +++ b/frontend/src/Attendance.jsx @@ -3,7 +3,7 @@ import Header from "./components/Header"; import InputBlock from "./components/InputBlock"; import AttendanceWeekInfo from "./components/AttendanceWeekInfo"; import styles from "./Attendance.module.css"; -import axios from "axios"; +import api from "./api/api"; const Attendance = () => { const [attendanceCode, setAttendanceCode] = useState([""]); @@ -88,7 +88,7 @@ const Attendance = () => { if (!userId) return; // 유저 전체 출석 데이터 불러오기 - const res = await axios.get(`/api/attendance/user`, { + const res = await api.get(`/attendance/user`, { params: { userId }, withCredentials: true, // 세션 기반 인증 요청처리 }); @@ -108,7 +108,7 @@ const Attendance = () => { if (!userId) return; const today = new Date().toISOString().split("T")[0]; // YYYY-MM-DD - const res = await axios.get(`/api/attendance/user/date`, { + const res = await api.get(`/attendance/user/date`, { params: { userId, date: today }, withCredentials: true, // 세션 기반 인증 요청처리 }); @@ -151,8 +151,10 @@ const Attendance = () => { if (!userId) return; // 유저가 입력한 출석 코드 서버에 전달(서버에서 출석코드 체크) + const res = await axios.post( "/api/attendance/mark", + { userId, code: attendanceCode[0], diff --git a/frontend/src/api/api.js b/frontend/src/api/api.js index 814c063..8278d08 100644 --- a/frontend/src/api/api.js +++ b/frontend/src/api/api.js @@ -1,7 +1,7 @@ import axios from "axios"; const api = axios.create({ - baseURL: "/api", + baseURL: "http://api.pirocheck.org/api", withCredentials: true, }); diff --git a/frontend/src/api/assignment.js b/frontend/src/api/assignment.js index a576b62..cf1a11a 100644 --- a/frontend/src/api/assignment.js +++ b/frontend/src/api/assignment.js @@ -1,8 +1,6 @@ -import axios from "axios"; +import api from "./api"; export const fetchAssignmentsByUser = async (userId) => { - const res = await axios.get(`/api/assignment/grouped/${userId}`, { - withCredentials: true - }); + const res = await api.get(`/assignment/grouped/${userId}`); return res.data; }; diff --git a/frontend/src/api/user.js b/frontend/src/api/user.js index 3964bac..811264c 100644 --- a/frontend/src/api/user.js +++ b/frontend/src/api/user.js @@ -1,5 +1,5 @@ export const loginUser = async ({ name, password }) => { - const res = await fetch("/api/login", { + const res = await fetch("http://api.pirocheck.org/api/login", { method: "POST", headers: { "Content-Type": "application/json",