How supercatzes-collab/gitwise works
Gitwise is a Dioxus application for sharing research items and handling contribution proposals. The main workflow is to upload an item, browse the library, view or download it, submit a contribution proposal, and review incoming proposals; the app also exposes account, profile, watching, and request-management pages. SQLite provides application state, while shared data types and UI components support the pages. Some page implementations were not excerpted, so their roles are based on the source index and route declarations; edges are limited to relationships those sources show.
Main entry points: route.rs Route dispatch · database.rs SQLite database · general_components.rs Shared UI components · main.rs App entry
Components 20
App and navigation
- App entry
src/main.rs - Route dispatch
src/route.rs - Navigation bar
src/navbar.rs
Research items
- Home
src/pages/home.rs - Research library
src/pages/library.rs - Upload item
src/pages/upload.rs - Item details
src/pages/download.rs
Contribution workflow
- Submit contribution
src/pages/contribute.rs - Review contribution
src/pages/view_incoming_request.rs - Pending requests
src/pages/pending.rs - Outgoing requests
src/pages/outgoing_requests.rs
Accounts and activity
- Login
src/pages/login.rs - Sign in
src/pages/signin.rs - Account settings
src/pages/logout.rs - Profiles
src/pages/profile.rs - Watching updates
src/pages/watching.rs
Shared runtime
- SQLite database
src/database.rs - Shared UI components
src/components/general_components.rs - Shared data types
src/components/shared_data_components.rs
Other components
- User
Connections 37
- User → App entry: opens
- App entry → SQLite database: initializes
src/main.rs - App entry → Route dispatch: launches router
src/main.rs - Route dispatch → Navigation bar: uses layout
src/route.rs - Navigation bar → Route dispatch: navigates
src/navbar.rs - Route dispatch → Home: dispatches
src/route.rs - Route dispatch → Research library: dispatches
src/route.rs - Route dispatch → Upload item: dispatches
src/route.rs - Route dispatch → Item details: dispatches
src/route.rs - Route dispatch → Submit contribution: dispatches
src/route.rs - Route dispatch → Review contribution: dispatches
src/route.rs - Route dispatch → Pending requests: dispatches
src/route.rs - Route dispatch → Outgoing requests: dispatches
src/route.rs - Route dispatch → Login: dispatches
src/route.rs - Route dispatch → Sign in: dispatches
src/route.rs - Route dispatch → Account settings: dispatches
src/route.rs - Route dispatch → Profiles: dispatches
src/route.rs - Route dispatch → Watching updates: dispatches
src/route.rs - Upload item → SQLite database: inserts item
src/pages/upload.rs - Upload item → Shared data types: creates item
src/pages/upload.rs - Item details → SQLite database: reads and updates
src/pages/download.rs - Review contribution → SQLite database: reads and updates
src/pages/view_incoming_request.rs - Research library → SQLite database: queries items
src/pages/library.rs - Submit contribution → SQLite database: uses data store
src/pages/contribute.rs - Pending requests → SQLite database: queries requests
src/pages/pending.rs - Outgoing requests → SQLite database: queries requests
src/pages/outgoing_requests.rs - Watching updates → SQLite database: queries watched items
src/pages/watching.rs - Login → SQLite database: uses account data
src/pages/login.rs - Sign in → SQLite database: uses account data
src/pages/signin.rs - Account settings → SQLite database: uses account data
src/pages/logout.rs - Profiles → SQLite database: uses profile data
- Home → Shared UI components: renders
src/pages/home.rs - Research library → Shared UI components: uses components
src/pages/library.rs - Item details → Shared UI components: renders
src/pages/download.rs - Shared UI components → SQLite database: queries profile and activity
src/components/general_components.rs - Shared UI components → Shared data types: uses types
src/components/general_components.rs - SQLite database → Shared data types: maps item records
src/database.rs