How charan270469/dailyez works
Purpose and entry points
DailyEz is a full-stack priority-inbox product intended to consolidate important communications and rank them by user relevance. The browser application starts at src/main.tsx, renders src/App.tsx, and is built with Vite (vite.config.ts). The backend entry point is server/index.js.
Client application shell
The frontend is a TypeScript React dashboard organized around a persistent layout and navigation:
• src/DashboardLayout.tsx
• src/components/Sidebar.tsx
• src/components/TopNavbar.tsx
It presents separate priority, inbox, matched, archive, analytics, settings, help, and watchlist views. The primary message-review surfaces are src/components/PriorityFeed.tsx, src/components/InboxFeed.tsx, and src/components/MessageDetailModal.tsx.
Client/server boundary
Frontend data access is centralized in src/lib/api.ts, which is the key boundary between UI state and backend endpoints. Shared client-side message/domain shapes live in src/types.ts; src/mockData.ts likely supports development/demo rendering when live data is absent. Authentication-facing UI and connected-platform state are represented by src/components/EditProfileModal.tsx and src/components/ConnectedPlatforms.tsx.
Backend API, identity, and persistence
The server owns request handling, authentication, and database access:
• server/index.js
• server/auth.js
• server/authRoutes.js
• server/db.js
This separates identity/session or provider authorization concerns from message processing. The exact database and auth provider are not identifiable from the supplied tree, but Gmail access likely crosses this boundary before ingestion.
Gmail ingestion stage
Gmail is the only explicitly implemented source adapter in the repository:
• server/gmail/fetchMessages.js
• server/index.js
• server/authRoutes.js
Its control flow is expected to authenticate/connect a user, fetch Gmail messages, then pass message content and metadata into the matching pipeline. Although the product description names WhatsApp and Discord, no corresponding source adapters appear in this tree.
Relevance and watchlist matching pipeline
Message prioritization is decomposed into focused server-side stages:
• server/agents/parseSignalEntity.js
• server/agents/matchSourceIntent.js
• server/agents/keywordMatch.js
• server/agents/matchSignal.js
• server/watchlistMatcher.js
The likely flow is: parse entities/signals from an incoming message, assess source intent, compare terms and entities against a watchlist, then produce a match/relevance signal. This modular boundary is the core ranking/explainability layer that feeds the priority and matched-message UI.
User feedback and presentation loop
Matched or prioritized records are surfaced through src/components/MatchedTab.tsx, src/components/InboxMessageCard.tsx, and src/components/WatchlistPanel.tsx. User-managed watchlist criteria form the principal feedback/control input into server matching. Analytics visualization is isolated in src/components/AnalyticsTab.tsx and src/components/DailyVolumeChart.tsx, while archived content is handled by src/components/ArchiveTab.tsx.
Main entry points: DashboardLayout.tsx Dashboard layout · api.ts API client · db.js Database access · PriorityFeed.tsx Priority and inbox feeds
Components 20
React client
- React entry
src/main.tsx - App shell
src/App.tsx - Dashboard layout
src/DashboardLayout.tsx - Sidebar and top nav
src/components/Sidebar.tsx - Priority and inbox feeds
src/components/PriorityFeed.tsx - Message detail
src/components/MessageDetailModal.tsx - Matched and watchlist UI · Users manage criteria and inspect matched messages.
src/components/MatchedTab.tsx - Analytics and archive
src/components/AnalyticsTab.tsx - API client
src/lib/api.ts - Message domain types
src/types.ts
Server API
- Server entry
server/index.js - Auth routes
server/authRoutes.js - Authentication
server/auth.js - Database access
server/db.js
Gmail ingestion
- Gmail fetcher · Only explicit message-source adapter.
server/gmail/fetchMessages.js
Relevance matching
- Signal entity parser
server/agents/parseSignalEntity.js - Source intent matcher
server/agents/matchSourceIntent.js - Keyword matcher
server/agents/keywordMatch.js - Signal matcher
server/agents/matchSignal.js - Watchlist matcher · Produces relevance and match signals from message data and criteria.
server/watchlistMatcher.js
Connections 24
- React entry → App shell: renders
- App shell → Dashboard layout: hosts
- Dashboard layout → Sidebar and top nav: includes
- Dashboard layout → Priority and inbox feeds: presents
- Priority and inbox feeds → Message detail: opens
- Dashboard layout → Matched and watchlist UI: presents
- Dashboard layout → Analytics and archive: presents
- Priority and inbox feeds → API client: loads messages
- Matched and watchlist UI → API client: reads and updates criteria
- API client → Message domain types: uses
- API client → Server entry: HTTP requests
- Server entry → Auth routes: serves
- Auth routes → Authentication: authenticates
- Server entry → Database access: reads and writes
- Auth routes → Gmail fetcher: authorizes access
- Gmail fetcher → Signal entity parser: supplies messages
- Signal entity parser → Source intent matcher: enriched content
- Signal entity parser → Keyword matcher: entities and terms
- Source intent matcher → Signal matcher: intent assessment
- Keyword matcher → Signal matcher: keyword evidence
- Signal matcher → Watchlist matcher: match evidence
- Database access → Watchlist matcher: watchlist criteria
- Watchlist matcher → Database access: stores match results
- Database access → API client: messages and matches · Returned through server endpoints.