How fatihkaraguzel95/fira works
Fira is a Supabase-backed ticket-management application. Users authenticate, choose a team and project, then manage tickets in a Kanban board or filtered list; ticket details support assignment, tags, subtasks, deadlines, attachments, and comments. Team invitations and project/status management are distinct supporting workflows. The graph follows evidenced routing, rendering, and hook-to-service calls. Several capabilities are documented or named in imports but their implementation details were not sampled, so their internal links are limited to those references.
Main entry points: BoardPage.tsx Workspace page · supabase.ts Supabase client · App.tsx Application routes · useAuth.ts Authentication state
Components 22
App and routing
- Application routes
src/App.tsx - Protected route
src/components/layout/ProtectedRoute.tsx - Login and registration
src/components/auth/LoginForm.tsx - Workspace page
src/pages/BoardPage.tsx - Invitation page
src/pages/InvitePage.tsx
Workspace management
- Team and project controls
src/components/layout/Sidebar.tsx - Team operations
src/hooks/useTeams.ts - Project operations
src/hooks/useProjects.ts - Team invitations
src/components/team/InviteModal.tsx
Ticket workflows
- Kanban board
src/components/board/KanbanBoard.tsx - Status management
src/components/board/StatusManager.tsx - Filtered ticket list
src/components/list/TicketList.tsx - Ticket details
src/components/ticket/TicketModal.tsx - Ticket detail features
src/components/ticket
Data and services
- Authentication state
src/hooks/useAuth.ts - Supabase client
src/lib/supabase.ts - Query cache
src/lib/queryClient.ts - Supabase platform
- Ticket operations
src/hooks/useTickets.ts - Status operations
src/hooks/useStatuses.ts - Related ticket operations
src/hooks/useComments.ts
Other components
- User
Connections 32
- User → Application routes: uses
src/App.tsx - Application routes → Protected route: protects workspace
src/App.tsx - Application routes → Login and registration: routes to
src/App.tsx - Application routes → Workspace page: routes to
src/App.tsx - Application routes → Invitation page: routes to
src/App.tsx - Protected route → Authentication state: checks session
src/components/layout/ProtectedRoute.tsx - Login and registration → Authentication state: authenticates with
src/components/auth/LoginForm.tsx - Authentication state → Supabase client: reads auth
src/hooks/useAuth.ts - Authentication state → Query cache: clears cache
src/hooks/useAuth.ts - Supabase client → Supabase platform: connects to
src/lib/supabase.ts - Workspace page → Authentication state: reads user
src/pages/BoardPage.tsx - Workspace page → Team and project controls: renders
src/pages/BoardPage.tsx - Workspace page → Kanban board: renders
src/pages/BoardPage.tsx - Workspace page → Filtered ticket list: renders
src/pages/BoardPage.tsx - Workspace page → Ticket details: opens ticket
src/pages/BoardPage.tsx - Workspace page → Team operations: creates ticket
src/pages/BoardPage.tsx - Team and project controls → Team operations: manages teams
src/components/layout/Sidebar.tsx - Team and project controls → Project operations: manages projects
src/components/layout/Sidebar.tsx - Invitation page → Team operations: accepts invitation
src/pages/InvitePage.tsx - Team invitations → Team operations: creates invitation
src/components/team/InviteModal.tsx - Kanban board → Ticket operations: reads and moves tickets
src/components/board/KanbanBoard.tsx - Kanban board → Status operations: loads statuses
src/components/board/KanbanBoard.tsx - Status management → Status operations: mutates statuses
src/components/board/StatusManager.tsx - Filtered ticket list → Ticket operations: loads tickets
src/components/list/TicketList.tsx - Ticket details → Ticket operations: reads and updates
src/components/ticket/TicketModal.tsx - Ticket details → Status operations: loads statuses
src/components/ticket/TicketModal.tsx - Ticket details → Ticket detail features: renders details
src/components/ticket/TicketModal.tsx - Ticket operations → Supabase client: queries tickets
src/hooks/useTickets.ts - Status operations → Supabase client: queries statuses
src/hooks/useStatuses.ts - Team operations → Supabase client: queries team data
src/hooks/useTeams.ts - Project operations → Supabase client: queries projects
src/hooks/useProjects.ts - Ticket detail features → Related ticket operations: uses related hooks
src/components/ticket/CommentSection.tsx