-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfileDescriptions.json
More file actions
142 lines (142 loc) · 23.3 KB
/
fileDescriptions.json
File metadata and controls
142 lines (142 loc) · 23.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
{
"client/components.json": "Configuration file for UI component library, defining schema, styling options, and resource paths.",
"client/eslint.config.js": "ESLint configuration file for TypeScript and React, including plugins and custom rules.",
"client/index.html": "Main HTML entry point with root div for React mounting and main.tsx script.",
"client/package.json": "Client configuration with dependencies, scripts, and metadata.",
"client/postcss.config.js": "PostCSS configuration with tailwindcss and autoprefixer plugins.",
"client/src/api/api.ts": "This file configures an Axios instance request authentication via access tokens, and automatic token refresh on authentication failures.",
"client/src/api/auth.ts": "API utility functions for user authentication. Exports function login, register and logout.",
"client/src/App.css": "Main application styles including root layout and animations.",
"client/src/App.tsx": "Main React component with the routing structure - this file is very important as it shows which pages are opened on which routes.",
"client/src/components/Footer.tsx": "Footer component with privacy and terms links.",
"client/src/components/Header.tsx": "Navigation header component with role-based menu items, theme toggle, and logout functionality, rendering dynamic navigation buttons based on user's role and current location.",
"client/src/components/Layout.tsx": "Layout component with header, main content, and footer.",
"client/src/components/ProtectedRoute.tsx": "Protected route component for authenticated user access control.",
"client/src/components/ui/accordion.tsx": "Shadcn Accordion component. Exports Accordion, AccordionItem, AccordionButton, and AccordionPanel.",
"client/src/components/ui/alert-dialog.tsx": "Shadcn Alert Dialog component. Exports AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel.",
"client/src/components/ui/alert.tsx": "Shadcn Alert component. Exports Alert, AlertTitle, AlertDescription.",
"client/src/components/ui/aspect-ratio.tsx": "Shadcn Aspect Ratio component. Exports AspectRatio.",
"client/src/components/ui/avatar.tsx": "Shadcn Avatar component. Exports Avatar, AvatarImage, AvatarFallback.",
"client/src/components/ui/badge.tsx": "Shadcn Badge component. Exports Badge, badgeVariants.",
"client/src/components/ui/breadcrumb.tsx": "Shadcn Breadcrumb component. Exports Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis.",
"client/src/components/ui/button.tsx": "Shadcn Button component. Exports Button, buttonVariants.",
"client/src/components/ui/calendar.tsx": "Shadcn Calendar component. Exports Calendar.",
"client/src/components/ui/card.tsx": "Shadcn Card component. Exports Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent.",
"client/src/components/ui/carousel.tsx": "Shadcn Carousel component. Exports type CarouselApi, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext.",
"client/src/components/ui/chart.tsx": "Shadcn Chart component. Exports ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle.",
"client/src/components/ui/checkbox.tsx": "Shadcn Checkbox component. Exports Checkbox.",
"client/src/components/ui/collapsible.tsx": "Shadcn Collapsible component. Exports Collapsible, CollapsibleTrigger, CollapsibleContent.",
"client/src/components/ui/command.tsx": "Shadcn Command component. Exports Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator.",
"client/src/components/ui/context-menu.tsx": "Shadcn Context Menu component. Exports ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup.",
"client/src/components/ui/dialog.tsx": "Shadcn Dialog component. Exports Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription.",
"client/src/components/ui/drawer.tsx": "Shadcn Drawer component. Exports Drawer, DrawerPortal, DrawerOverlay, DrawerClose, DrawerTrigger, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription.",
"client/src/components/ui/dropdown-menu.tsx": "Shadcn Dropdown Menu component. Exports DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup.",
"client/src/components/ui/form.tsx": "Shadcn Form component. Exports useFormField, Form, FormField, FormLabel, FormItem, FormControl, FormDescription, FormMessage.",
"client/src/components/ui/hover-card.tsx": "Shadcn Hover Card component. Exports HoverCard, HoverCardTrigger, HoverCardContent.",
"client/src/components/ui/input-otp.tsx": "Shadcn Input OTP component. Exports InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator.",
"client/src/components/ui/input.tsx": "Shadcn Input component. Exports Input.",
"client/src/components/ui/label.tsx": "Shadcn Label component. Exports Label.",
"client/src/components/ui/menubar.tsx": "Shadcn Menubar component. Exports Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut.",
"client/src/components/ui/navigation-menu.tsx": "Shadcn Navigation Menu component. Exports navigationMenuTriggerStyle, NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuIndicator, NavigationMenuViewport.",
"client/src/components/ui/pagination.tsx": "Shadcn Pagination component. Exports Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious.",
"client/src/components/ui/popover.tsx": "Shadcn Popover component. Exports Popover, PopoverTrigger, PopoverContent.",
"client/src/components/ui/progress.tsx": "Shadcn Progress component. Exports Progress.",
"client/src/components/ui/radio-group.tsx": "Shadcn Radio Group component. Exports RadioGroup, RadioGroupItem.",
"client/src/components/ui/resizable.tsx": "Shadcn Resizable component. Exports ResizablePanelGroup, ResizablePanel, ResizableHandle.",
"client/src/components/ui/scroll-area.tsx": "Shadcn Scroll Area component. Exports ScrollArea, ScrollBar.",
"client/src/components/ui/select.tsx": "Shadcn Select component. Exports Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton.",
"client/src/components/ui/separator.tsx": "Shadcn Separator component. Exports Separator.",
"client/src/components/ui/sheet.tsx": "Shadcn Sheet component. Exports Sheet, SheetPortal, SheetOverlay, SheetClose, SheetTrigger, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription.",
"client/src/components/ui/sidebar.tsx": "Shadcn Sidebar component. Exports Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar.",
"client/src/components/ui/skeleton.tsx": "Shadcn Skeleton component. Exports Skeleton.",
"client/src/components/ui/slider.tsx": "Shadcn Slider component. Exports Slider.",
"client/src/components/ui/sonner.tsx": "Shadcn Sonner component. Exports Toaster.",
"client/src/components/ui/switch.tsx": "Shadcn Switch component. Exports Switch.",
"client/src/components/ui/table.tsx": "Shadcn Table component. Exports Table, TableBody, TableCell, TableFooter, TableHeader, TableHead, TableRow, TableCaption.",
"client/src/components/ui/tabs.tsx": "Shadcn Tabs component. Exports Tabs, TabsList, TabsTrigger, TabsContent.",
"client/src/components/ui/textarea.tsx": "Shadcn Textarea component. Exports Textarea.",
"client/src/components/ui/theme-provider.tsx": "Theme provider component for managing and applying theme settings in a React application using context and hooks.",
"client/src/components/ui/theme-toggle.tsx": "Theme toggle component for switching between light and dark modes. Exports ThemeToggle.",
"client/src/components/ui/toast.tsx": "Shadcn Toast component. Exports type ToastProps, type ToastActionElement, ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction.",
"client/src/components/ui/toaster.tsx": "Shadcn Toaster component. Exports Toaster.",
"client/src/components/ui/toggle-group.tsx": "Shadcn Toggle Group component. Exports ToggleGroup, ToggleGroupItem.",
"client/src/components/ui/toggle.tsx": "Shadcn Toggle component. Exports Toggle, toggleVariants.",
"client/src/components/ui/tooltip.tsx": "Shadcn Tooltip component. Exports Tooltip, TooltipTrigger, TooltipContent, TooltipProvider.",
"client/src/contexts/AuthContext.tsx": "Context provider for user authentication state management. Exports AuthProvider, useAuth.",
"client/src/hooks/useMobile.tsx": "Custom hook for detecting mobile viewport.",
"client/src/hooks/useToast.ts": "Custom hook for managing toast notifications.",
"client/src/index.css": "Global styles with Tailwind CSS configuration and theme variables.",
"client/src/lib/utils.ts": "Utility functions for class name management.",
"client/src/pages/Login.tsx": "Login page component with form handling, authentication logic, role-based routing, and responsive UI design using shadcn components and React hooks.",
"client/src/pages/Register.tsx": "React component for user registration with email and password, featuring form validation, loading state, authentication via AuthContext, and a styled card-based UI with error handling and navigation.",
"client/src/main.tsx": "Application entry point with React root rendering.",
"client/src/vite-env.d.ts": "TypeScript declarations for Vite environment.",
"client/tsconfig.app.json": "TypeScript configuration for application code.",
"client/tsconfig.json": "Main TypeScript configuration with project references.",
"client/tsconfig.node.json": "TypeScript configuration for Node.js environment.",
"client/vite.config.ts": "Vite build tool configuration with server proxy configuration.",
"client/tailwind.config.js": "Tailwind CSS configuration with theme customizations, including enabling dark mode, specifying the content files that Tailwind should scan for class names, and extending the default theme with custom values for border radius, colors, keyframes, and animations. The configuration also includes a plugin for animations, specifically 'tailwindcss-animate', which allows for additional animation utilities to be used in the project.",
"server/.env": "This file is a configuration file in the form of a .env file. It contains environment variables used by the application, such as the port to listen on, the MongoDB database URL, and the session secret string.",
"server/package.json": "Node.js server configuration defining project dependencies, scripts for development, build, and deployment, with TypeScript support and various utility libraries for authentication, API interactions, and server management.",
"package.json": "Project configuration with dependencies, scripts, and metadata.",
".gitignore": "Git configuration to exclude files and directories from version control.",
"fileDescriptions.json": "File that contains descriptions for all the files in the project.",
"client/src/api/chat.ts": "API service functions for sending chat messages and retrieving chat history related to goal results, with mock response implementations for development.",
"client/src/api/goals.ts": "API utility functions for managing user goals, providing methods to fetch, save, submit results, add comments, reply to comments, and resolve comments with comprehensive error handling.",
"client/src/api/settings.ts": "API functions for retrieving and updating user automation settings with error handling and type-safe request/response management.",
"client/src/api/teams.ts": "API utility functions for team management, providing methods to retrieve, create, update, delete, and fetch teams by various criteria.",
"client/src/api/users.ts": "API utility functions for user management, providing methods to retrieve, invite, update, and delete users with comprehensive error handling.",
"client/src/components/ChatInterface.tsx": "Interactive chat component for AI-powered result analysis, enabling users to ask questions about goal-related data with real-time message rendering and state management.",
"client/src/components/CommentThread.tsx": "React component for rendering comment threads with user avatars, replies, and resolution functionality, supporting interactive comment interactions and dynamic UI states.",
"client/src/components/CreateTeamDialog.tsx": "React dialog component for creating teams, allowing users to input team name, select a manager, and choose multiple individual contributors (ICs) through an interactive form.",
"client/src/components/InviteUserDialog.tsx": "React dialog component for inviting users with role and optional team selection, providing a form-based interface for user invitation management.",
"client/src/components/RichTextEditor.tsx": "Customizable rich text editor component with Tiptap, supporting text formatting, comment addition, and optional read-only mode with dynamic toolbar and comment interaction features.",
"client/src/components/WeekCard.tsx": "Reusable React component for displaying weekly goals with expandable card interface, supporting current week highlighting, dynamic week labeling, and collapsible content visualization.",
"client/src/pages/AdminSettings.tsx": "Admin settings page for configuring weekly goal reminder automation, allowing users to set day, time, and timezone for email notifications.",
"client/src/pages/AdminUsers.tsx": "Renders a comprehensive admin dashboard for user and team management, featuring user listing, role-based access, team creation, user invitation, and interactive CRUD operations with Toast notifications.",
"client/src/pages/ManagerTeams.tsx": "React component for managers to view and interact with their assigned teams, displaying team details, member count, and providing navigation to individual team pages.",
"client/src/pages/BlankPage.tsx": "Placeholder React component for displaying a \"Page Under Construction\" message with a navigation button to return home, dynamically showing the current unimplemented route path.",
"client/src/utils/dateUtils.ts": "Date utility functions for generating week ranges, formatting week labels, checking current week, and creating a list of past weeks using date-fns library.",
"server/eslint.config.js": "ESLint configuration for TypeScript and JavaScript files, setting recommended rules, global environments, and custom linting preferences for the server project.",
"server/server.ts": "Express.js server configuration that sets up database connection, middleware, and routes for authentication, users, teams, settings, goals, and chat functionality.",
"server/tsconfig.json": "TypeScript configuration file for server-side compilation, defining strict type checking, module resolution, and build output settings for Node.js environment.",
"server/config/database.ts": "MongoDB connection utility that establishes and manages database connection with error handling, reconnection logic, and graceful shutdown mechanism.",
"server/models/User.ts": "Mongoose User model defining schema with authentication, role-based access, team association, and invite management for user accounts.",
"server/models/init.ts": "Mongoose database initialization function for establishing a connection to MongoDB with configurable connection options and error handling.",
"server/routes/authRoutes.ts": "Express router handling authentication routes with login, register, logout, token refresh, user profile retrieval, and invite-based signup functionality.",
"server/routes/index.ts": "Express router configuration handling root path and health check endpoints, providing welcome message and ping response.",
"server/routes/middlewares/auth.ts": "Express middleware for JWT-based authentication and role-based access control, validating user tokens and enforcing role permissions for protected routes.",
"server/services/llmService.ts": "Service module for managing LLM (Large Language Model) interactions, providing a unified interface to send requests to OpenAI and Anthropic with retry mechanisms and error handling.",
"server/services/userService.ts": "User service managing user-related database operations, providing methods for authentication, creation, retrieval, update, and deletion of user records with password hashing and validation.",
"server/utils/auth.ts": "JWT token generation utility for user authentication, providing functions to create access and refresh tokens with configurable expiration periods.",
"server/utils/password.ts": "Password utility functions for secure password hashing, validation, and format checking using bcrypt algorithm with methods to generate hash, compare passwords, and validate hash format.",
"shared/eslint.config.js": "ESLint configuration for TypeScript and JavaScript projects, setting recommended rules, global settings, and custom linting preferences for the project.",
"shared/index.ts": "Centralized export module for shared role configurations and user type definitions across the application.",
"shared/package.json": "Package configuration for shared TypeScript module with build scripts, linting, and development utilities for a reusable library.",
"shared/tsconfig.json": "TypeScript compiler configuration for shared library, setting strict type checking, module resolution, and build output options for TypeScript files.",
"shared/config/roles.ts": "Role configuration module defining application user roles with type-safe constants for admin, manager, and IC permissions.",
"shared/types/user.ts": "TypeScript type definitions for user-related entities, including User, Team, WeekGoal, Comment, Reply, AutomationSettings, and ChatMessage, with associated enums and interfaces for role-based access and data modeling.",
"client/src/components/RoleBasedRoute.tsx": "Role-based route protection component that redirects unauthorized users based on their role, ensuring access control for specific routes in the application.",
"client/src/pages/Home.tsx": "Home page component that automatically redirects authenticated users to their role-specific dashboard based on user permissions, displaying a loading spinner during navigation.",
"client/src/pages/ICGoals.tsx": "React component for managing weekly goals, enabling users to set, save, submit results, and collaborate through comments and replies for individual goal tracking.",
"client/src/pages/ManagerICDetail.tsx": "Manager-facing individual contributor (IC) detail page with comprehensive goal tracking, comments, and chat functionality for weekly performance management.",
"client/src/pages/ManagerTeamDetail.tsx": "React component for displaying detailed team information, rendering team members as interactive cards with personal details and navigation options for managers.",
"client/src/pages/SetupPassword.tsx": "React component for setting up a user password via an invite token, with password strength validation, name input, and secure signup process.",
"server/models/Settings.ts": "Mongoose schema for configuring time-based settings with day, hour, minute, and timezone, supporting default values and timestamp tracking.",
"server/models/Team.ts": "Mongoose schema for Team model, defining team structure with name, manager, team members, and automatic timestamp tracking.",
"server/routes/settingsRoutes.ts": "Express router for managing automation settings, providing admin-only endpoints to retrieve and update system-wide scheduling configurations with role-based access control.",
"server/routes/teamRoutes.ts": "Express router handling team-related operations with role-based access control, providing endpoints for listing, retrieving, creating, updating, and deleting teams with permission checks for admin and manager roles.",
"server/routes/userRoutes.ts": "Express router for user management, providing endpoints for listing, retrieving, inviting, updating, and deleting users with role-based access control and comprehensive error handling.",
"server/services/inviteService.ts": "User invitation management service with methods for generating invite tokens, creating invites, validating invite tokens, completing signup, and resending invitations with secure token generation and email notifications.",
"server/services/settingsService.ts": "Service for managing automation settings, providing methods to retrieve and update configuration parameters like day, time, and timezone with robust error handling and default value generation.",
"server/services/teamService.ts": "Team service with CRUD operations for managing teams, handling team creation, retrieval, updates, and deletion while validating user roles and managing team-user relationships.",
"server/scripts/seedAdmin.ts": "Database seeding script for creating an initial admin user with predefined credentials, handling environment variables and preventing duplicate admin creation.",
"server/services/emailService.ts": "Postmark-based email service for OKRFlow, handling user invite, goal/result submission, comment notifications, and weekly reminders with customized HTML email templates.",
"client/src/components/EditUserDialog.tsx": "React dialog component for editing user details, allowing modifications to user name, role, and team assignment with dynamic form validation and state management.",
"server/models/ChatMessage.ts": "Mongoose schema and model for chat messages, defining structure for storing user and assistant messages with goal and user references.",
"server/models/Goal.ts": "Mongoose schema for weekly goals, defining data structure with user-associated goals, comments, replies, and metadata for tracking goal progress and interactions.",
"server/routes/chatRoutes.ts": "Express router handling chat-related API endpoints for sending messages to an LLM and retrieving chat history for specific goals, with user authentication middleware.",
"server/routes/goalRoutes.ts": "Express router handling goal-related API endpoints with user authentication, supporting operations like retrieving, saving, submitting goals, adding comments, and managing goal interactions with role-based access control.",
"server/services/chatService.ts": "Chat service managing AI-powered conversations for goal tracking, handling message processing, chat history retrieval, and context generation for language model interactions.",
"server/services/goalService.ts": "Goal service managing user goal lifecycle, providing methods for creating, submitting, commenting on, and retrieving goals with integrated email notifications and comprehensive error handling."
}