How prateekm180/aet---astronomical-event-tracker works
AET is an astronomical-event tracker with a web interface and a Fastify API. Its backend accepts event data, enriches events asynchronously, matches visibility regions to user locations, and schedules notifications. Users can register, browse events, and request personalized viewing insight; the frontend also exposes login, registration, event detail, and dashboard routes. The README provides no further capability details, and several frontend pages and notification modules were not sampled, so uncertain connections are omitted.
Main entry points: prisma.ts Prisma database · server.ts Fastify server · agentAWorker.ts AI enrichment · App.tsx App routes
Components 24
Web application
- App routes
frontend/src/App.tsx - Auth state
frontend/src/hooks/useAuth.ts - API client
frontend/src/api/clients.ts - User pages
frontend/src/Pages
API and identity
- Fastify server
backend/src/server.ts - Auth routes
backend/src/modules/auth/auth.routes.ts - Auth service
backend/src/modules/auth/auth.service.ts - Event routes
backend/src/modules/events/events.routes.ts - Event service
backend/src/modules/events/events.service.ts - Profile routes
backend/src/modules/users/users.routes.ts - User service
backend/src/modules/users/users.service.ts - Prisma database
backend/src/lib/prisma.ts
Event processing
- Event ingestion
backend/src/ingestion/ingestEvent.ts - Job queues
backend/src/lib/queues.ts - AI enrichment
backend/src/agents/agentAWorker.ts - Visibility matching
backend/src/geo/geoMatchWorker.ts - Personalized insight
backend/src/agents/agentB.ts - Weather data
backend/src/external/weather.ts - Light pollution
backend/src/external/lightPollution.ts
Personalized notifications
- Notification scheduling
backend/src/modules/notifications/schedule.worker.ts - Notification dispatch
backend/src/modules/notifications/dispatch.worker.ts - Push provider
backend/src/delivery/pushProvider.ts
Other components
- Visitor
- Anthropic API
Connections 22
- Visitor → App routes: uses
- App routes → User pages: routes to
- App routes → Auth state: reads auth
- Auth state → API client: requests profile
- Fastify server → Auth routes: registers
- Fastify server → Event routes: registers
- Fastify server → Profile routes: registers
- Auth routes → Auth service: calls
- Auth routes → Prisma database: reads user
- Auth service → Prisma database: reads and writes
- Event routes → Event service: calls
- Event routes → Personalized insight: requests insight
- Event service → Prisma database: reads events
- Profile routes → User service: calls
- User service → Prisma database: updates profile
- Event ingestion → Prisma database: creates event
- Event ingestion → Job queues: enqueues jobs
- AI enrichment → Job queues: consumes jobs
- AI enrichment → Anthropic API: requests enrichment
- AI enrichment → Prisma database: updates event
- Visibility matching → Job queues: enqueues schedules
- Visibility matching → Prisma database: matches users