move/blockblock/sources/blockblock.move ๊ธฐ๋ฅ์ ๊ทธ๋๋ก ๋ฐ์ํ๋ MVP ํต์ฌ ํ๋ฆ ์ค์ฌ UI. ์ง๊ฐ ์ฐ๊ฒฐ ํ ๋จ์ผ ๋์๋ณด๋์์ ์ญํ ๊ธฐ๋ฐ ์น์
๋ง ๋
ธ์ถ.
- Landing / Connect
- ์ง๊ฐ ์ฐ๊ฒฐ ์ ์๋ด + ์ฐ๊ฒฐ CTA
- Dashboard (Home)
- ํ์ฌ ๊ธฐ์/ํด๋ฝ ์์ฝ, ์ญํ ๋ฐฐ์ง, ๋น ๋ฅธ ์์ ์นด๋
- Member Registration
- ๋ฉค๋ฒ ๋ฑ๋ก ๋ ์ง์คํธ๋ฆฌ ์์ฑ/์์ฒญ/๊ฒ์ฆ/๋ฐ์
- Attendance
- ์ถ์ ๋ ์ง์คํธ๋ฆฌ ์์ฑ/๋ฑ๋ก/๋ง๊ฐ/๋ถ๋ฅ/์ํธ ์ ์ฅ
- Term Transition
- ๋ค์ ํ์ฅ ์ง์ /์ ํ ๋ ์ง์คํธ๋ฆฌ/ํฌํ/์ ํ ์คํ
- Header: ๋ก๊ณ /ํ๋ก์ ํธ๋ช , ๋คํธ์ํฌ/์ง๊ฐ ์ฐ๊ฒฐ ๋ฒํผ
- Main: ์น์ ์นด๋ ๋์ด (Dashboard โ Member โ Attendance โ Transition)
- Toast/Status: ํธ๋์ญ์ ์งํ/์ฑ๊ณต/์คํจ ์ํ ํ์
๋ชฉํ: ์ง๊ฐ ๋ฏธ์ฐ๊ฒฐ ์ํ์์ ์ต์ ์๋ด์ ์ฐ๊ฒฐ ์ ๋.
๊ตฌ์ฑ
- Hero ์ ๋ชฉ: BlockBlock Club Ops
- ์๋ธํ ์คํธ: ๊ธฐ์/๋ฉค๋ฒ/์ถ์/์ ํ์ ์จ์ฒด์ธ์ผ๋ก ๊ด๋ฆฌ
ConnectButton- ์ฐ๊ฒฐ ํ ์๋์ผ๋ก Dashboard ํ์
๋น ์ํ
- ์ง๊ฐ ๋ฏธ์ฐ๊ฒฐ โ Landing๋ง ๋ ธ์ถ
๋ชฉํ: ํ์ฌ ๊ธฐ์/ํด๋ฝ ์ํ ํ๋์ ํ์ธ + ๋น ๋ฅธ ์์ ์ง์ .
ํต์ฌ ๋ฐ์ดํฐ
BlockBlockRegistry: current_term, current_club, current_presidentBlockBlockClub: president/vice/treasurer
๊ตฌ์ฑ
- Summary Card
- ํ์ฌ ๊ธฐ์, ํ์ฅ ์ฃผ์, ํด๋ฝ ID
- Role Badge
- president / vice / treasurer / member
- Quick Actions
- ๋ฉค๋ฒ ๋ ์ง์คํธ๋ฆฌ ์์ฑ
- ์ถ์ ๋ ์ง์คํธ๋ฆฌ ์์ฑ
- ์ ํ ๋ ์ง์คํธ๋ฆฌ ์์ฑ
๊ถํ ๋ ธ์ถ ๊ท์น
- ํ์ฅ๋ง ๋ณด์ด๋ ๋ฒํผ: ๋ฉค๋ฒ ๋ ์ง์คํธ๋ฆฌ ์์ฑ, ์ ํ ๋ ์ง์คํธ๋ฆฌ ์์ฑ
- ํ์ฅ/๋ถํ์ฅ๋ง ๋ณด์ด๋ ๋ฒํผ: ์ถ์ ๋ ์ง์คํธ๋ฆฌ ์์ฑ
๋ชฉํ: ๋ฉค๋ฒ ์์ฒญ ์์ง โ ํ์ฅ ๊ฒ์ฆ โ ํด๋ฝ ์ ์ฅ.
๊ด๋ จ Move ํจ์
create_and_share_blockblock_member_registrycreate_member_inforegister_member_info_to_blockblock_member_registrystore_member_addresses_in_member_registry_to_current_blockblockclub
๊ตฌ์ฑ
- Registry Status
- ์กด์ฌ ์ฌ๋ถ/์์ฑ ์ผ์/ํ์ฌ term
- Member Request Form (๋ฉค๋ฒ์ฉ)
- ์ด๋ฆ, ์ ๊ณต, ์ฃผ๋์ด ์ฌ๋ถ, ์ ์ถ ๋ฒํผ
- Pending List (ํ์ฅ์ฉ)
- ์์ฒญ ๋ฆฌ์คํธ ์์ฝ + ์ต์ข ๋ฐ์ ๋ฒํผ
๋น ์ํ
- ๋ ์ง์คํธ๋ฆฌ ์์ โ ํ์ฅ์๊ฒ ์์ฑ CTA ํ์
๋ชฉํ: ์ถ์ ๋ ์ง์คํธ๋ฆฌ ์์ฑ โ ์ถ์ ๋ฑ๋ก โ ๋ง๊ฐ โ ์ง๊ฐ/๊ฒฐ์/๋ณ๊ฒฐ ๋ถ๋ฅ โ ์ํธ ์ ์ฅ.
๊ด๋ จ Move ํจ์
create_and_share_attendance_registryregister_member_info_to_attendance_registryclose_attendance_registryregister_member_info_to_lateregister_member_info_to_absenceregister_member_info_to_excusedconvert_attendance_registry_to_attendance_sheetstore_attendance_sheet_to_blockblockclub
๊ตฌ์ฑ
- Registry Status (open/closed)
- ์ถ์ ๋ฒํผ (open์ผ ๋ ๋ฉค๋ฒ์ฉ)
- ๋ง๊ฐ ๋ฒํผ (ํ์ฅ/๋ถํ์ฅ)
- ๋ถ๋ฅ ์
๋ ฅ(๋ง๊ฐ ํ)
- ์ง๊ฐ/๊ฒฐ์/๋ณ๊ฒฐ ๋ฆฌ์คํธ ์ ๋ ฅ
- ์ํธ ๋ณํ + ์ ์ฅ ๋ฒํผ (ํ์ฅ)
๋น ์ํ
- ๋ ์ง์คํธ๋ฆฌ ์์ โ ์์ฑ CTA
๋ชฉํ: ๋ค์ ํ์ฅ ์ง์ โ ์ ํ ๋ ์ง์คํธ๋ฆฌ ์์ฑ โ ํฌํ โ ๋ค์ ๊ธฐ์ ์์ฑ.
๊ด๋ จ Move ํจ์
create_and_share_transition_to_the_next_term_registryvote_to_the_next_term_registrytransit_current_term_to_the_next_term_and_share_next_club
๊ตฌ์ฑ
- Next President ์ ๋ ฅ (์ฃผ์)
- ์ ํ ๋ ์ง์คํธ๋ฆฌ ์์ฑ ๋ฒํผ (ํ์ฅ)
- ํฌํ ์ํ ์นด๋ (ํ์ฅ/๋ถํ์ฅ/์ด๋ฌด)
- ์ ํ ์คํ ๋ฒํผ (ํ์ฅ)
- ํ์ฅ ํ๋จ:
current_club.president == account.address - ๋ถํ์ฅ ํ๋จ:
current_club.vice_president == account.address - ์ด๋ฌด ํ๋จ:
current_club.treasurer == account.address - ๋ฉค๋ฒ ํ๋จ:
senior_members/junior_membersํฌํจ ์ฌ๋ถ
- ๋ชจ๋ ๋ฒํผ ํด๋ฆญ ์: Pending โ Success/Error ํ ์คํธ
- ์ฑ๊ณต ์ ๊ด๋ จ ๊ฐ์ฒด ์ฌ์กฐํ(refetch)
- ์คํจ ์ ์๋ฌ ๋ฉ์์ง ๋ ธ์ถ
AppShellRoleBadgeSectionCardRegistryStatusMemberFormMemberListAttendancePanelTransitionPanel
- ์ง๊ฐ ๋ฏธ์ฐ๊ฒฐ ์ํ์์ Landing๋ง ๋ ธ์ถ
- ํ์ฅ ๊ณ์ ์ ์ ์ ํ์ฅ ์ ์ฉ ๋ฒํผ ๋ ธ์ถ
- ๋ฉค๋ฒ ๋ ์ง์คํธ๋ฆฌ ๋ฏธ์์ฑ ์ํ์์ ์์ฑ CTA ๋ ธ์ถ
- ์ถ์ ๋ง๊ฐ ์ /ํ ๋ฒํผ ์ํ ๋ณํ
- ์ ํ ํฌํ ์๋ฃ/๋ฏธ์๋ฃ์ ๋ฐ๋ฅธ ์ ํ ๋ฒํผ ํ์ฑํ