Skip to content

Commit b2b836b

Browse files
committed
feat: Phase 1 코어/API/Web 초기 스캐폴드 추가
1 parent 49c385e commit b2b836b

12 files changed

Lines changed: 114 additions & 0 deletions

File tree

apps/api/src/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
const BOOTSTRAP_MESSAGE = "Fieldstack API bootstrap initialized";
2+
3+
console.log(BOOTSTRAP_MESSAGE);

apps/api/tsconfig.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"extends": "../../tsconfig.json",
3+
"compilerOptions": {
4+
"outDir": "dist",
5+
"rootDir": "src",
6+
"noEmit": false,
7+
"moduleResolution": "Node",
8+
"module": "CommonJS"
9+
},
10+
"include": ["src/**/*.ts"]
11+
}

apps/web/index.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>Fieldstack</title>
7+
</head>
8+
<body>
9+
<div id="app"></div>
10+
<script type="module" src="/src/main.ts"></script>
11+
</body>
12+
</html>

apps/web/src/main.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
const WEB_BOOTSTRAP_MESSAGE = "Fieldstack Web bootstrap initialized";
2+
3+
console.log(WEB_BOOTSTRAP_MESSAGE);

apps/web/tsconfig.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"extends": "../../tsconfig.json",
3+
"compilerOptions": {
4+
"jsx": "react-jsx",
5+
"moduleResolution": "Bundler",
6+
"types": []
7+
},
8+
"include": ["src/**/*.ts", "src/**/*.tsx"]
9+
}

packages/core/src/auth/index.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
export interface LoginRequest {
2+
email: string;
3+
password: string;
4+
}
5+
6+
export interface SessionToken {
7+
accessToken: string;
8+
refreshToken: string;
9+
}
10+
11+
export interface AuthService {
12+
login(payload: LoginRequest): Promise<SessionToken>;
13+
}

packages/core/src/db/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
export interface DbProvider {
2+
name: string;
3+
connect(): Promise<void>;
4+
disconnect(): Promise<void>;
5+
}
6+
7+
export interface MigrationRunner {
8+
up(): Promise<void>;
9+
down(): Promise<void>;
10+
}

packages/core/src/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export * from "./auth";
2+
export * from "./db";
3+
export * from "./types";
4+
export * from "./utils";
5+
export * from "./ui";

packages/core/src/types/index.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
export interface ApiResponse<T> {
2+
success: boolean;
3+
data: T;
4+
error?: string;
5+
}
6+
7+
export interface User {
8+
id: string;
9+
email: string;
10+
}
11+
12+
export interface ModuleMetadata {
13+
name: string;
14+
version: string;
15+
enabled: boolean;
16+
}
17+
18+
export interface IntegrationConfig {
19+
provider: string;
20+
enabled: boolean;
21+
}

packages/core/src/ui/index.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export interface UiComponentContract {
2+
id: string;
3+
displayName: string;
4+
}
5+
6+
export interface UseFormContract<T> {
7+
initialValues: T;
8+
}

0 commit comments

Comments
 (0)