Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
bb96ed4
feat : icon 추가
seungw0o May 8, 2025
067b6bf
feat : design-token 추가
seungw0o May 8, 2025
7eafd07
chore : 기본 세팅 수정
seungw0o May 8, 2025
3fea562
chore : tailwind 기본 설정
seungw0o May 8, 2025
92ca86e
chore : 이미지 파일 위치 이동
seungw0o May 9, 2025
08589b2
chore : 프로젝트 세팅 수정
seungw0o May 11, 2025
9ead74c
feat : Icon 추가
seungw0o May 11, 2025
9bb8f10
feat : 중간 커밋
seungw0o May 14, 2025
e4817b6
fix : tailwind 적용 안되는 오류 해결
seungw0o May 14, 2025
7b5f39b
feat : clsx 패키지 설치
seungw0o May 20, 2025
cd4bc97
chore : 이름 변경
seungw0o May 20, 2025
58ccf51
feat : 로그인, 회원가입 페이지 퍼블리싱
seungw0o May 21, 2025
ddee2e8
style : input border 설정
seungw0o May 21, 2025
b81a3f8
feat : button 컴포넌트 일부 제작
seungw0o May 21, 2025
b6ab8e3
ci : CI 파이프라인 명령어 수정
seungw0o May 21, 2025
b2e295b
ci : Ci 명령어에 캐시 설정 추가
seungw0o May 21, 2025
6418d12
chore : tsconfig 수정
seungw0o May 21, 2025
3689eb0
chore : react 루트에서만 설치
seungw0o May 21, 2025
7da66d0
fix : yarn tsc --noEmit 뜨는 에러 해결
seungw0o May 21, 2025
62193d9
chore : yarn lint 명령어 추가 및 수정
seungw0o May 21, 2025
7e8f4e3
chore : eslint 설정 수정
seungw0o May 21, 2025
cd72b3a
chore : eslint 마지막 수정
seungw0o May 21, 2025
509864e
chore : eslint-plugin-next 설치
seungw0o May 21, 2025
36fd162
chore : eslint 수정
seungw0o May 21, 2025
2eebdfa
chore : 수정
seungw0o May 21, 2025
60ede44
chore : 수정
seungw0o May 21, 2025
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
24 changes: 21 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: CI

on:
pull_request:
branches: [develop, main] # PR이 develop이나 main으로 갈 때만 동작
branches: [develop, main]

jobs:
build:
Expand All @@ -16,10 +16,28 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn

- name: Enable Corepack
run: corepack enable

- name: Prepare Yarn 4
run: corepack prepare yarn@4.9.1 --activate

# Optional: 캐시 수동 설정
- name: Cache Yarn
uses: actions/cache@v3
with:
path: |
.yarn/cache
.yarn/unplugged
.yarn/install-state.gz
.pnp.*
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-

- name: Install dependencies
run: yarn install --frozen-lockfile
run: yarn install --immutable

- name: Type check
run: yarn tsc --noEmit
Expand Down
8 changes: 0 additions & 8 deletions .prettierrc

This file was deleted.

16 changes: 0 additions & 16 deletions apps/web/eslint.config.mjs

This file was deleted.

25 changes: 12 additions & 13 deletions apps/web/package.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
{
"name": "my-app",
"name": "@stracker/web",
"description": "Stracker Web Application",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
"lint": "eslint . --ext .ts,.tsx"
},
"dependencies": {
"next": "^13.0.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
"@stracker/design-token": "workspace:^",
"clsx": "^2.1.1",
"next": "^14.1.0",
"tailwindcss": "^3.4.1"
},
"devDependencies": {
"@eslint/eslintrc": "^3.0.0",
"@types/node": "^20.0.0",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"autoprefixer": "^10.4.21",
"@types/node": "^20.4.0",
"autoprefixer": "^10.4.16",
"eslint": "^9.0.0",
"eslint-config-next": "^13.0.0",
"postcss": "^8.5.3",
"tailwindcss": "^4.1.3",
"typescript": "^5.0.0"
"eslint-config-next": "^14.1.0",
"postcss": "^8.4.38",
"typescript": "^5.4.3"
}
}
2 changes: 1 addition & 1 deletion apps/web/postcss.config.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const config = {
plugins: ["@tailwindcss/postcss"],
plugins: { tailwindcss: {}, autoprefixer: {} },
};

export default config;
3 changes: 3 additions & 0 deletions apps/web/public/assets/Logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/web/public/assets/bell.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/web/public/assets/chevron-down.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/web/public/assets/eye-off.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions apps/web/public/assets/eye.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions apps/web/public/assets/logout.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions apps/web/public/assets/refresh.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/web/public/assets/search.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/web/public/assets/setting.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/web/public/assets/user.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 3 additions & 8 deletions apps/web/src/app/globals.css
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
@import "tailwindcss";
@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
--background: #ffffff;
Expand All @@ -12,13 +14,6 @@
--font-mono: var(--font-geist-mono);
}

@media (prefers-color-scheme: dark) {
:root {
--background: #0a0a0a;
--foreground: #ededed;
}
}

body {
background: var(--background);
color: var(--foreground);
Expand Down
38 changes: 38 additions & 0 deletions apps/web/src/app/login/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import { Button, Input } from "@web/components";

const loginPage = () => {
return (
<div className="flex flex-col items-center justify-center h-screen">
<div className="border border-solid border-zinc-200 w-[30rem] h-au rounded-3xl flex flex-col gap-10 px-6 pt-5 pb-4">
<div className="flex flex-col gap-8">
<img src="/assets/Logo.svg" className="w-[6rem]" />
<div className="flex flex-col items-center justify-center gap-4">
<Input
label="아이디"
placeholder="아이디를 입력해주세요.."
type="text"
/>
<Input
label="비밀번호"
placeholder="비밀번호를 입력해주세요.."
type="password"
/>
</div>
</div>
<div className="flex flex-col items-center justify-center gap-5">
<Button size="large" backColor="blue" borderColor="blue">
로그인
</Button>
<div className="text-b1 flex items-center">
아직 계정이 없으신가요?&nbsp;
<a href="/signin" className="text-blue-600">
회원가입
</a>
</div>
</div>
</div>
</div>
);
};

export default loginPage;
6 changes: 3 additions & 3 deletions apps/web/src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import Image from "next/image";

export default function Home() {}
export default function Home() {
return <></>;
}
57 changes: 57 additions & 0 deletions apps/web/src/app/signin/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import { Button, Input } from "@web/components";

const signInPage = () => {
const selectItems = [
"BackEnd",
"FrontEnd",
"AI",
"Design",
"DevOps",
"Embedded",
];
return (
<div className="flex flex-col items-center justify-center h-screen">
<div className="border border-solid border-zinc-200 w-[30rem] h-au rounded-3xl flex flex-col gap-10 px-6 pt-5 pb-4">
<div className="flex flex-col gap-8">
<img src="/assets/Logo.svg" className="w-[6rem]" />
<div className="flex flex-col items-center justify-center gap-4">
<Input
label="아이디"
placeholder="아이디를 입력해주세요.."
type="text"
/>
<Input
label="비밀번호"
placeholder="비밀번호를 입력해주세요.."
type="password"
/>
<Input
label="비밀번호 확인"
placeholder="비밀번호를 입력해주세요.."
type="password"
/>
<Input
label="전공 선택"
placeholder="전공 선택"
type="select"
selectItems={selectItems}
/>
</div>
</div>
<div className="flex flex-col items-center justify-center gap-5">
<Button size="large" backColor="blue" borderColor="blue">
회원가입
</Button>
<div className="text-b1 flex items-center">
이미 계정이 있으시다면?&nbsp;
<a href="/login" className="text-blue-600">
로그인
</a>
</div>
</div>
</div>
</div>
);
};

export default signInPage;
38 changes: 38 additions & 0 deletions apps/web/src/components/button.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
"use client";

import clsx from "clsx";

interface ButtonProps {
children: React.ReactNode;
size?: "small" | "medium" | "large";
backColor?: string;
textColor?: string;
borderColor?: string;
}

const Button = ({
children,
size,
backColor,
textColor,

Check warning on line 17 in apps/web/src/components/button.tsx

View workflow job for this annotation

GitHub Actions / build

'textColor' is defined but never used
borderColor,
}: ButtonProps) => {
return (
<div
className={clsx(
"flex items-center justify-center rounded-lg cursor-pointer hover:bg-blue-500",
{
"px-4 py-2 text-b2": size === "small",
"px-6 py-3 text-b2": size === "medium",
"w-[27rem] h-[3rem] text-b2": size === "large",
},
{ "bg-blue-600 text-white": backColor === "blue" },
{ "border border-blue-600": borderColor === "blue" },
)}
>
{children}
</div>
);
};

export default Button;
2 changes: 2 additions & 0 deletions apps/web/src/components/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export { default as Input } from "./input";
export { default as Button } from "./button";
Loading