refactor(src): improve modularity
- 主要言語
- TypeScript
- スター
- 1
- フォーク
- 10
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
## Description
The codebase currently does not contain a common `components/` directory, components are spread across the `app/` directory, resulting in a lot of code duplication and poor readability.
## Expected Changes
- Create a `components/` directory under `src/` -> `src/components/`
- Move `button.tsx`, `intro.tsx`, `intropc.tsx` -> `src/components/landing/` and update imports in `src/app/page.tsx`.
- Look for any overlapping code in `intro.tsx` and `intropc.tsx`, de-duplicate this code, a new component may be created as well if necessary.
- Move `src/app/findmycgpa/menu.tsx` -> `src/components/`, update imports in `src/app/findmycgpa/page.tsx` and `src/app/findmysgpa/page.tsx`
- Move `src/app/findmysgpa/{modal.tsx, portal.tsx, progress.tsx}` files -> `src/components/modal/`, update imports in `src/app/findmycgpa/page.tsx` and `src/app/findmysgpa/page.tsx`
- Move `src/app/findmysgpa/sgpaform.tsx` and `src/app/findmycgpa/cgpaform.tsx` files -> `src/components/form/` update imports in `src/app/findmycgpa/page.tsx` and `src/app/findmysgpa/page.tsx` respectively.
- Look for any overlapping code in `cgpaform.tsx` and `sgpaform.tsx`, de-duplicate this code, a new component may be created as well if necessary.
コントリビューションガイド
調査の方向性
Start by reading the listed files under src/app, especially page.tsx, intro.tsx, intropc.tsx, cgpaform.tsx, and sgpaform.tsx, to map their imports and overlapping code. Move the named files into src/components/landing, src/components/modal, and src/components/form, update the affected page imports, and verify that the landing, CGPA, and SGPA pages still work without duplicated component logic.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- nextjs, tailwindcss, typescript
- 領域
- frontend, web-dev
- issue の種類
- リファクタリング
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100