How herloncosta/ai-customer-insights-platform works
This is an AI customer-feedback insights platform: users submit feedback, which is accepted for asynchronous analysis, while the interface provides feedback browsing and aggregate metrics. The sampled backend establishes the API-to-service-to-database/queue flow, and the worker establishes message dispatch to processing. The frontend’s screens and worker internals are represented from the tree, but their unsampled request and processing details are not expanded into unsupported connections.
Main entry points: App.tsx App shell · index.ts Worker consumer · feedback.routes.ts Feedback routes · feedback.service.ts Feedback service
Components 18
Feedback interface
- App shell
frontend/src/App.tsx - Submit feedback
frontend/src/screens/NewFeedbackScreen.tsx - Feedback list
frontend/src/screens/FeedbacksScreen.tsx - Insights dashboard
frontend/src/screens/DashboardScreen.tsx - API client
frontend/src/lib/api.ts
Feedback API
- HTTP application
backend/src/app.ts - Feedback routes
backend/src/routes/feedback.routes.ts - Request validation
backend/src/middlewares/validate.ts - Feedback controller
backend/src/controllers/feedback.controller.ts - Feedback service
backend/src/services/feedback.service.ts
Analysis processing
- Worker consumer
worker/src/index.ts - Worker queue setup
worker/src/rabbitmq.ts - Feedback processor
worker/src/feedback.processor.ts - Feedback analyzer
worker/src/lib/analyzer.ts
Persistence and messaging
- Prisma database access
shared/src/index.ts - Queue publisher
backend/src/lib/queue.ts - RabbitMQ
Other components
- User
Connections 15
- User → App shell: uses
- App shell → Submit feedback: renders
- App shell → Feedback list: renders
- App shell → Insights dashboard: renders
- App shell → API client
- HTTP application → Feedback routes: mounts
- Feedback routes → Request validation: validates with
- Feedback routes → Feedback controller: dispatches
- Feedback controller → Feedback service: calls
- Feedback service → Prisma database access: reads and writes
- Feedback service → Queue publisher: publishes
- Queue publisher → RabbitMQ: sends message
- Worker consumer → Worker queue setup: connects via
- Worker consumer → RabbitMQ: consumes from
- Worker consumer → Feedback processor: dispatches