-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfileDescriptions.json
More file actions
140 lines (140 loc) · 23 KB
/
fileDescriptions.json
File metadata and controls
140 lines (140 loc) · 23 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
{
"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": "Root application component configuring routing, authentication, theme management, and nested routes with protected and public pages for a web application.",
"client/src/components/Footer.tsx": "Footer component with privacy and terms links.",
"client/src/components/Header.tsx": "Application header component with navigation buttons for activity log, settings, theme toggle, and logout functionality, featuring a branded title and responsive layout.",
"client/src/components/Layout.tsx": "Root layout component rendering global page structure with Header, main content area using Outlet, and Footer, supporting responsive design and dark mode gradient background.",
"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 CSS configuration for Tailwind, defining color variables, dark/light mode themes, and base styling for the application's design system.",
"client/src/lib/utils.ts": "Utility functions for class name management.",
"client/src/pages/Login.tsx": "Login page component with form validation, authentication logic, and responsive UI for user sign-in using react-hook-form and custom authentication context.",
"client/src/pages/Register.tsx": "React component for user registration with form validation, authentication, and responsive UI using react-hook-form and shadcn components.",
"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 file with project dependencies, scripts for development, build, and deployment, including TypeScript setup and package 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/activity.ts": "API utility function for retrieving activity log with mock data, providing details about automation campaigns, user processing, and execution status.",
"client/src/api/automations.ts": "API service functions for managing marketing campaign automations, providing CRUD operations and status toggling for automation resources.",
"client/src/api/mongodb.ts": "API utility functions for MongoDB connection management, providing methods to test connection, update URL, sync segment data, and retrieve segment filter options.",
"client/src/api/settings.ts": "API utility functions for retrieving system connection and setup status, providing methods to check MongoDB, Woodpecker, and initial configuration states.",
"client/src/api/woodpecker.ts": "API utility functions for Woodpecker integration, providing methods to retrieve campaigns, test connection, and update API key.",
"client/src/components/ui/multi-select.tsx": "Reusable multi-select component with searchable dropdown, badge-based selection, and dynamic option management using Popover and Command primitives.",
"client/src/pages/Activity.tsx": "Activity page component rendering a detailed activity log with automation execution details, status badges, and user interaction metrics, supporting empty state and dynamic loading.",
"client/src/pages/AutomationForm.tsx": "React form component for creating and editing automation workflows, handling campaign selection, frequency settings, timing, and optional segment filtering with comprehensive validation and submission logic.",
"client/src/pages/Dashboard.tsx": "Dashboard page for managing marketing automations, displaying a list of automated workflows with options to create, edit, toggle status, and delete individual automation configurations.",
"client/src/pages/Settings.tsx": "Settings page for managing external MongoDB and Woodpecker API connections, with functionality to test, update, and refresh integration settings.",
"client/src/pages/Setup.tsx": "Setup page for Automation Manager, guiding users through configuring MongoDB and Woodpecker connections with step-by-step validation and connection testing.",
"client/src/components/automations/CampaignSelector.tsx": "React component for selecting a Woodpecker campaign, rendering a card with a dropdown menu that allows users to choose from a list of available campaigns with form validation.",
"client/src/components/automations/DeleteConfirmDialog.tsx": "Reusable confirmation dialog component for deleting automations, providing a standardized modal with cancel and delete actions.",
"client/src/components/automations/EmptyState.tsx": "React component for displaying an empty state UI when no automations exist, providing a visual prompt and button to create the first automation.",
"client/src/components/automations/FrequencySelector.tsx": "Reusable React component for selecting automation trigger frequency with dynamic options for minute, second, hour, day, and week, supporting time and day configuration through react-hook-form integration.",
"client/src/components/automations/SegmentFilters.tsx": "React component for configuring user segment filters with toggleable multi-select options for use cases, categories, and alternatives using react-hook-form integration.",
"client/src/components/automations/TimingSelector.tsx": "React component for configuring timing settings after user signup, allowing selection of time value and unit with form validation and error handling.",
"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.",
"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 server configuration with route setup for authentication, settings, automations, and activities, including database connection, middleware initialization, error handling, and automation scheduler management.",
"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 email, password, roles, and authentication-related fields, with password hash validation and JSON transformation to exclude sensitive data.",
"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, and user profile retrieval, implementing JWT-based authentication and user management.",
"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": "LLM service module for sending requests to OpenAI and Anthropic, with retry mechanism and error handling for generating AI responses.",
"server/services/userService.ts": "User service with CRUD operations for user management, providing methods for authentication, user creation, password handling, and database interactions using Mongoose.",
"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 user role constants and type-safe role management utilities for application access control.",
"shared/types/user.ts": "TypeScript type definition for User model, specifying structure and properties of user accounts in the application.",
"server/models/Segment.ts": "Mongoose model for managing segment data with use cases, categories, and alternatives, implementing a singleton pattern with automatic timestamp tracking.",
"server/models/Settings.ts": "Mongoose schema for application settings, tracking MongoDB and Woodpecker connection status, API keys, and setup completion with a singleton pattern.",
"server/routes/settingsRoutes.ts": "Express router for managing application settings, handling MongoDB and Woodpecker API connections, testing service integrations, and synchronizing segment data with authentication middleware.",
"server/routes/settingsRoutes.ts.bak": "Express router for managing application settings, handling MongoDB and Woodpecker API connections, testing configurations, syncing segment data, and providing endpoints for retrieving and updating system settings.",
"server/services/mongodbService.ts": "MongoDB service for external database interactions, providing methods to test connections, query users, and fetch segment data with secure, encrypted connection handling.",
"server/services/woodpeckerService.ts": "Service module for Woodpecker API integration, providing functions to test connection and fetch campaigns with secure API key decryption and error handling.",
"server/utils/encryption.ts": "Cryptographic utility module providing secure encryption and decryption functions using AES-256-CBC algorithm for protecting sensitive data like API keys.",
"server/scripts/initSettings.ts": "Database initialization script that ensures Settings and Segment singleton documents exist, creating default configurations if they are not present in the database.",
"server/scripts/testSegmentFetch.ts": "Diagnostic script for testing segment data retrieval from an external MongoDB, verifying connection, fetching use cases, categories, and alternatives with detailed logging.",
"server/models/ActivityLog.ts": "Mongoose schema for tracking automation execution logs, capturing details like status, user metrics, execution time, and associated automation and campaign information.",
"server/models/Automation.ts": "Mongoose schema for defining automated campaign triggers with configurable frequency, timing, segmentation, and tracking properties for user-specific workflows.",
"server/models/ProcessedUser.ts": "Mongoose schema for tracking processed users in an automation system, with unique indexing on automation and email to prevent duplicate entries.",
"server/routes/activityRoutes.ts": "Express router handling activity log retrieval for users and automations, providing endpoints to fetch recent activity logs with optional limit parameters.",
"server/routes/automationRoutes.ts": "Express router for managing user automation workflows, providing endpoints for creating, retrieving, updating, toggling, and deleting automation configurations with user authentication.",
"server/services/activityLogService.ts": "Service for managing activity logs with methods to create, retrieve, and clean up logs for users and automations, supporting tracking of execution details and performance metrics.",
"server/services/automationExecutor.ts": "Service for executing automated user campaigns by fetching users from an external MongoDB, filtering them, and adding them to a Woodpecker email campaign with detailed logging and error handling.",
"server/services/automationScheduler.ts": "Automated task scheduler service that periodically checks and executes due automations, with methods to start, stop, and manage execution intervals.",
"server/services/automationService.ts": "Service layer for managing user automation workflows, providing CRUD operations, scheduling logic, and methods for creating, retrieving, updating, and executing automated tasks with dynamic run-time calculations.",
"client/src/components/automations/MarginSelector.tsx": "React component for configuring time window margin in automations, allowing users to select a margin value and unit with form validation and descriptive UI."
}