acmpesuecc / acmpesuecc/mygpa

refactor(src): improve modularity

オープン
#2 コメント 12 件 リアクション 0 件 担当者 0 名 GitHub で見る
bounty 250 refactor
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。