acmpesuecc / acmpesuecc/mygpa

refactor(src): improve modularity

Open
#2 12 comments 0 reactions 0 assignees View on GitHub
bounty 250 refactor
Dominant language
TypeScript
Stars
1
Forks
10
PR merge metrics
No merged PRs in 30d

Description

## 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.