Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
4f261c0
fix(#1): fix-error
Yoonchulchung Jan 2, 2026
2ecad37
Feat/3 menu repository (#57)
first-lounge Jan 2, 2026
7535dbd
Feat(#4) refresh token service (#65)
dbswjd7 Jan 4, 2026
70d2ca1
auth token dto 생성 (#67)
dbswjd7 Jan 4, 2026
3052342
Feat(#4) category service, controller 생성 (#75)
dbswjd7 Jan 5, 2026
92b0eb6
fix(#4) Spot폴더 에러 삭제 (#87)
dbswjd7 Jan 5, 2026
ad3d7e6
Revert "fix(#4) Spot폴더 에러 삭제" (#88)
dbswjd7 Jan 5, 2026
6aef3b9
Revert "Feat(#4) category service, controller 생성" (#89)
dbswjd7 Jan 5, 2026
007e4bd
feat(#66): payment controller 추가 (#86)
Yoonchulchung Jan 5, 2026
57ae7d2
fix:(#68): payment controller (#91)
Yoonchulchung Jan 5, 2026
5dceddc
Revert "fix:(#68): payment controller" (#92)
Yoonchulchung Jan 5, 2026
a5a812a
Revert "fix:(#68): payment controller" (#93)
Yoonchulchung Jan 5, 2026
169f32b
Revert "feat(#66): payment controller 추가" (#94)
Yoonchulchung Jan 5, 2026
70ee7a2
Feat(#4) category api 구현 (#95)
dbswjd7 Jan 5, 2026
bae40d1
feat(#0): GitHub action 추가 (#96)
Yoonchulchung Jan 5, 2026
67a1706
fix: resolve merge conflict with main branch (#135)
Yoonchulchung Jan 7, 2026
a15fb78
feat(#0): menu new (#160)
first-lounge Jan 8, 2026
ca51414
Revert "fix(#173):pr-alert" (#184)
Yoonchulchung Jan 9, 2026
59c848d
Revert "fix(#173):pr-alert-check" (#185)
Yun024 Jan 9, 2026
cab3898
Revert "Enhance PR workflow with Discord notifications" (#188)
Yun024 Jan 9, 2026
6e8f7ae
fix(#199) backend 로직 수정 (#200)
Yoonchulchung Jan 10, 2026
f27004f
fix(#165): menu conflict (#201)
first-lounge Jan 11, 2026
6746778
Chore(#212): UserEntity에서 Store 조인 해제 (#214)
dbswjd7 Jan 20, 2026
c2a953d
feat(#169): menucontroller, menuoptioncontroller, paymentcontroller 수정
dbswjd7 Jan 9, 2026
f9a09d5
feat(#169): menu, payment controller 수정
dbswjd7 Jan 9, 2026
4b94653
feat(#212): openfeign 기본파일 생성 및 resilience4j 의존성 추가
dbswjd7 Jan 20, 2026
16511b7
feat(#212): merge dev
dbswjd7 Jan 21, 2026
f3fc807
feat(#224): spot-gateway 설정 및 feign config 추가
dbswjd7 Jan 21, 2026
a0b3966
feat(#224): import 경로 수정
dbswjd7 Jan 21, 2026
0d92375
feat(#224): userauthentity 경로 에러 수정
dbswjd7 Jan 21, 2026
d32263a
feat(#224): properties에 feign경로 추가
dbswjd7 Jan 21, 2026
733cddf
feat(#224): reviewrepository의 user조인해제
dbswjd7 Jan 22, 2026
eaa7669
feat(#224): user - adminstore 조인 해제
dbswjd7 Jan 22, 2026
cbe8ea7
feat(#224): user checkstyle
dbswjd7 Jan 22, 2026
f8058c6
feat(#224): user checkstyle
dbswjd7 Jan 22, 2026
32a9f6b
feat(#224): checkstyle
dbswjd7 Jan 22, 2026
c228d3d
feat(#224):user의 storeclient contextid부여
dbswjd7 Jan 22, 2026
44f1798
feat(#224): checkstyle
dbswjd7 Jan 22, 2026
d5a5ef5
feat(#224): store 오류 해결
dbswjd7 Jan 22, 2026
9566259
feat(#224): user 에러 수정
dbswjd7 Jan 22, 2026
29d6f37
feat(#224): 전체 build
dbswjd7 Jan 22, 2026
f5740ea
feat(#224): 전체 settings.gradle
dbswjd7 Jan 22, 2026
173671b
feat(#224): settings.gradle 수정
dbswjd7 Jan 22, 2026
003369d
feat(#224): build.gradle 수정
dbswjd7 Jan 22, 2026
3239823
feat(#224): Docker file 추가
Yoonchulchung Jan 22, 2026
f61522c
feat(#224): yml 파일 추가
Yoonchulchung Jan 22, 2026
71a360c
fix(#224): docker file 수정
Yoonchulchung Jan 22, 2026
dcfd3cc
feat(#224): log 출력 기능 추가
Yoonchulchung Jan 22, 2026
103d215
fix(#224): cors 업데이트
Yoonchulchung Jan 22, 2026
ea1e3e1
feat(#224): compose 이름 변경
Yoonchulchung Jan 22, 2026
1a9babe
feat(#224): compose 이름 변경
Yoonchulchung Jan 22, 2026
edcb018
feat(#224): order store payment 인증통과하게끔
dbswjd7 Jan 22, 2026
cfe93c4
Merge remote-tracking branch 'origin/feat/224-spring-gateway' into fe…
dbswjd7 Jan 22, 2026
8b000b8
feat(#224): checkstyle
dbswjd7 Jan 22, 2026
1d2c8a4
fix(#224): docker 설정 변경
Yoonchulchung Jan 22, 2026
f90be94
Merge branch 'feat/224-spring-gateway' of https://github.com/spot-tic…
Yoonchulchung Jan 22, 2026
ab83eaa
feat(#224): pr check
dbswjd7 Jan 22, 2026
e528c8b
Merge remote-tracking branch 'origin/feat/224-spring-gateway' into fe…
dbswjd7 Jan 22, 2026
81989bc
fix(#224): openfeign url 변경
Yoonchulchung Jan 22, 2026
ed7f63f
Merge branch 'feat/224-spring-gateway' of https://github.com/spot-tic…
Yoonchulchung Jan 22, 2026
bd40fb5
fix(#224): gateway 설정 변경
Yoonchulchung Jan 22, 2026
8327d80
feat(#224): 인증 로직 추가
Yoonchulchung Jan 22, 2026
5509832
fix(#224): 인증 로직 해결
Yoonchulchung Jan 22, 2026
f4bc9e0
fix: import 수정
eqqmayo Jan 22, 2026
29e087a
feat: route 53 to ecs, db, redis, monitoring 기본 설정
eqqmayo Jan 22, 2026
a0fdb7a
feat: alb 라우팅, 서비스별 ecr 모듈, 서비스디스커버리 설정
eqqmayo Jan 23, 2026
1bc84f3
feat(#227): cognito 토큰 발급 구현
dbswjd7 Jan 23, 2026
ad252b8
save
eqqmayo Jan 23, 2026
1a59f56
Feat(#224) spring gateway (#225)
dbswjd7 Jan 23, 2026
586ff79
feat(#221): merge
dbswjd7 Jan 23, 2026
8220af2
feat(#221): aop 적용에 따른 feign 수정
dbswjd7 Jan 24, 2026
86cab17
feat(#221): cognito를 aws gateway에 연결
dbswjd7 Jan 24, 2026
5e08421
feat(#221): resilience4J 설정 완료
dbswjd7 Jan 25, 2026
b6098ce
feat(#221): spring gateway 경로 에러 해결
dbswjd7 Jan 25, 2026
971a131
feat(#224): gateway 복구
dbswjd7 Jan 26, 2026
8d651fb
feat(#224): spring gateway + terraform
dbswjd7 Jan 26, 2026
18b7ecd
Merge branch 'dev' into feat/224-spring-gateway
dbswjd7 Jan 27, 2026
9ad4b9c
feat(#221): paymentlistner conflict fix
dbswjd7 Jan 27, 2026
ca5eae3
feat(#261): CI 헬스체크 - actuator security chain 분리
dbswjd7 Jan 29, 2026
79613e9
feat(#239): admin 조회 user, store, order 분리
dbswjd7 Feb 2, 2026
d06239e
feat(#239): admindashboard controller, service
dbswjd7 Feb 4, 2026
3218497
feat(#239): merging
dbswjd7 Feb 5, 2026
5f1a681
feat(#239): 대시보드 조회 구현
dbswjd7 Feb 5, 2026
e472b7b
feat(#239): merging
dbswjd7 Feb 5, 2026
877ab64
Merge branch 'dev' into fix/239-admin-get-fix
dbswjd7 Feb 6, 2026
9b7d08e
fix(#239): admin page 구성 완료
dbswjd7 Feb 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions FE/spot/app/admin/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -308,20 +308,20 @@ export default function AdminPage() {
</thead>
<tbody className="bg-white divide-y divide-gray-200">
{stats.recentOrders.map((order) => (
<tr key={order.id}>
<tr key={order.orderId}>
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
#{order.id}
#{order.orderId}
</td>
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
{order.storeName}
</td>
<td className="px-6 py-4 whitespace-nowrap">
<span className="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">
{order.orderStatus}
{order.status}
</span>
</td>
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
{order.totalAmount.toLocaleString()}원
{Number(order.totalAmount ?? 0).toLocaleString()}원
</td>
</tr>
))}
Expand Down Expand Up @@ -460,21 +460,21 @@ export default function AdminPage() {
</thead>
<tbody className="bg-white divide-y divide-gray-200">
{orders.content.map((order) => (
<tr key={order.id}>
<tr key={order.orderId}>
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
#{order.id}
#{order.orderId}
</td>
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
{order.storeName}
</td>
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
{order.totalAmount.toLocaleString()}원
{Number(order.totalAmount ?? 0).toLocaleString()}원
</td>
<td className="px-6 py-4 whitespace-nowrap">
<select
value={order.orderStatus}
value={order.status}
onChange={(e) =>
handleUpdateOrderStatus(order.id, e.target.value)
handleUpdateOrderStatus(order.orderId, e.target.value)
}
className="text-sm border-gray-300 rounded-md"
>
Expand All @@ -495,7 +495,7 @@ export default function AdminPage() {
size="sm"
onClick={() => {
// 주문 상세 페이지로 이동 또는 모달 열기
alert(`주문 #${order.id} 상세 정보`);
alert(`주문 #${order.orderId} 상세 정보`);
}}
>
상세
Expand Down Expand Up @@ -671,6 +671,7 @@ export default function AdminPage() {
variant="outline"
disabled={storePage === 0}
onClick={() => loadStores(storePage - 1)}

>
이전
</Button>
Expand Down
6 changes: 3 additions & 3 deletions FE/spot/app/cart/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -159,12 +159,12 @@ export default function CartPage() {
title: `${cart.storeName} 주문`,
content: `${cart.items.map((i) => i.menu.name).join(', ')}`,
userId: user.id,
orderId: order.id,
orderId: order.orderId,
paymentMethod,
paymentAmount: getTotal(),
};

await paymentApi.confirmPayment(order.id, paymentData);
await paymentApi.confirmPayment(order.orderId, paymentData);

// 장바구니 비우기
clearCart();
Expand Down Expand Up @@ -193,7 +193,7 @@ export default function CartPage() {
const response = await tossPayments.requestBillingAuth('카드', {
customerKey: customerKey,
customerName: user.username,
successUrl: `${window.location.origin}/mypage/billing/success?orderId=${order.id}&paymentMethod=${paymentMethod}`,
successUrl: `${window.location.origin}/mypage/billing/success?orderId=${order.orderId}&paymentMethod=${paymentMethod}`,
failUrl: `${window.location.origin}/payemnts/fail`,
});

Expand Down
24 changes: 12 additions & 12 deletions FE/spot/app/orders/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ export default function OrdersPage() {
<div className="space-y-4">
{activeOrders.map((order) => (
<div
key={order.id}
key={order.orderId}
className="bg-white rounded-xl shadow-md p-4 border-l-4 border-orange-500"
>
<div className="flex justify-between items-start mb-3">
Expand All @@ -124,9 +124,9 @@ export default function OrdersPage() {
</p>
</div>
<span
className={`px-3 py-1 rounded-full text-sm font-medium ${statusColors[order.orderStatus]}`}
className={`px-3 py-1 rounded-full text-sm font-medium ${statusColors[order.status]}`}
>
{statusLabels[order.orderStatus]}
{statusLabels[order.status]}
</span>
</div>

Expand All @@ -147,13 +147,13 @@ export default function OrdersPage() {

<div className="flex justify-between items-center pt-3 border-t">
<span className="font-semibold text-orange-500">
{order.totalAmount.toLocaleString()}원
{Number(order.totalAmount ?? 0).toLocaleString()}원
</span>
{canCancel(order.orderStatus) && (
{canCancel(order.status) && (
<Button
variant="outline"
size="sm"
onClick={() => handleCancelOrder(order.id)}
onClick={() => handleCancelOrder(order.orderId)}
>
주문 취소
</Button>
Expand All @@ -177,16 +177,16 @@ export default function OrdersPage() {
) : (
<div className="space-y-4">
{orders.map((order) => (
<div key={order.id} className="bg-white rounded-xl shadow-md p-4">
<div key={order.orderId} className="bg-white rounded-xl shadow-md p-4">
<div className="flex justify-between items-start mb-3">
<div>
<h3 className="font-semibold text-gray-900">{order.storeName}</h3>
<p className="text-sm text-gray-500">{formatDate(order.createdAt)}</p>
</div>
<span
className={`px-3 py-1 rounded-full text-sm font-medium ${statusColors[order.orderStatus]}`}
className={`px-3 py-1 rounded-full text-sm font-medium ${statusColors[order.status]}`}
>
{statusLabels[order.orderStatus]}
{statusLabels[order.status]}
</span>
</div>

Expand All @@ -207,13 +207,13 @@ export default function OrdersPage() {

<div className="flex justify-between items-center pt-3 border-t">
<span className="font-semibold text-gray-900">
{order.totalAmount.toLocaleString()}원
{Number(order.totalAmount ?? 0).toLocaleString()}원
</span>
{canCancel(order.orderStatus) && (
{canCancel(order.status) && (
<Button
variant="outline"
size="sm"
onClick={() => handleCancelOrder(order.id)}
onClick={() => handleCancelOrder(order.orderId)}
>
주문 취소
</Button>
Expand Down
24 changes: 12 additions & 12 deletions FE/spot/components/order/OrderManagement.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ export function OrderManagement({ storeId }: OrderManagementProps) {
</div>
) : (
orders.map((order) => (
<div key={order.id} className="bg-white rounded-lg shadow p-6">
<div key={order.orderId} className="bg-white rounded-lg shadow p-6">
{/* 주문 헤더 */}
<div className="flex items-start justify-between mb-4">
<div>
Expand All @@ -195,10 +195,10 @@ export function OrderManagement({ storeId }: OrderManagementProps) {
</h3>
<span
className={`px-3 py-1 rounded-full text-xs font-semibold ${
ORDER_STATUS_COLOR[order.orderStatus]
ORDER_STATUS_COLOR[order.status]
}`}
>
{ORDER_STATUS_KR[order.orderStatus]}
{ORDER_STATUS_KR[order.status]}
</span>
</div>
<div className="text-sm text-gray-600">
Expand Down Expand Up @@ -260,42 +260,42 @@ export function OrderManagement({ storeId }: OrderManagementProps) {

{/* 액션 버튼 */}
<div className="flex gap-2 flex-wrap">
{order.orderStatus === 'PENDING' && (
{order.status === 'PENDING' && (
<>
<Button
size="sm"
onClick={() => handleAcceptOrder(order.id)}
onClick={() => handleAcceptOrder(order.orderId)}
>
수락
</Button>
<Button
size="sm"
variant="outline"
onClick={() => handleRejectOrder(order.id)}
onClick={() => handleRejectOrder(order.orderId)}
className="text-red-600 border-red-600 hover:bg-red-50"
>
거절
</Button>
</>
)}

{(order.orderStatus === 'PENDING' ||
order.orderStatus === 'ACCEPTED' ||
order.orderStatus === 'COOKING') && (
{(order.status === 'PENDING' ||
order.status === 'ACCEPTED' ||
order.status === 'COOKING') && (
<Button
size="sm"
variant="outline"
onClick={() => setCancelOrderId(order.id)}
onClick={() => setCancelOrderId(order.orderId)}
className="text-red-600 border-red-600 hover:bg-red-50"
>
주문 취소 (고객 요청)
</Button>
)}

{order.orderStatus === 'READY' && (
{order.status === 'READY' && (
<Button
size="sm"
onClick={() => handleCompleteOrder(order.id)}
onClick={() => handleCompleteOrder(order.orderId)}
className="bg-green-600 hover:bg-green-700"
>
픽업 완료
Expand Down
2 changes: 1 addition & 1 deletion FE/spot/lib/admin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ export const adminStoreApi = {
export const adminStatsApi = {
// 전체 통계 조회
getStats: async (): Promise<AdminStats> => {
const response = await api.get<ApiResponse<AdminStats>>('/api/admin/stats');
const response = await api.get<ApiResponse<AdminStats>>('/api/admin/stats/dashboard');
return response.data.result;
},

Expand Down
4 changes: 2 additions & 2 deletions FE/spot/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,15 +133,15 @@ export interface OrderCreateRequest {
}

export interface OrderResponse {
id: string;
orderId: string;
userId: number;
storeId: string;
storeName: string;
orderNumber: string;
needDisposables: boolean;
request: string;
pickupTime: string;
orderStatus: OrderStatus;
status: OrderStatus;
estimatedTime?: number;
reason?: string;
cancelledBy?: string;
Expand Down
2 changes: 1 addition & 1 deletion k6/scenarios/user/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ export function testAdminGetUsers(accessToken, params = {}) {
export function testAdminStats(accessToken) {
const res = http.get(buildUrl(endpoints.user.adminStats), {
headers: getAuthHeaders(accessToken),
tags: { name: 'GET /api/admin/stats' },
tags: { name: 'GET /api/admin/stats/dashboard' },
});

const success = check(res, {
Expand Down
2 changes: 1 addition & 1 deletion k6/tests/spike.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ export function setup() {
// Cache menus for first 3 stores (quick setup for spike test)
for (let i = 0; i < Math.min(3, stores.length); i++) {
const store = stores[i];
const storeId = store.id || store.storeId;
const storeId = store.id || store.id;

const menusRes = http.get(buildUrl(endpoints.store.getMenus(storeId)), {
headers: getAuthHeaders(customerTokens.accessToken),
Expand Down
34 changes: 34 additions & 0 deletions node_modules/.package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions node_modules/@types/react-dom/LICENSE

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions node_modules/@types/react-dom/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading