How bhumika864/revealx works
RevealX is a timed, passphrase-protected message application. A sender registers or signs in, creates a message encrypted in the browser, and schedules it for a reveal time; the recipient follows a public share link and decrypts the message with the passphrase. Senders can review their messages, and email can deliver the link and a reveal-ready notification. The graph reflects the sampled routing, encryption, persistence, and email code; page-to-API wiring and the reveal-checker implementation were not sampled, so those links are not expanded.
Main entry points: App.js Routes and shell · server.js HTTP server · notes.js Message endpoints · auth.js Auth endpoints
Components 23
Web application
- Routes and shell
Invisi/frontend/src/App.js - Session context
Invisi/frontend/src/context/AuthContext.js - Protected pages
Invisi/frontend/src/components/ProtectedRoute.js - Registration
Invisi/frontend/src/Register.js - Sign in
Invisi/frontend/src/Login.js - Create message
Invisi/frontend/src/CreateNote.js - My messages
Invisi/frontend/src/YourNotes.js - Message details
Invisi/frontend/src/ViewNote.js - Public reveal
Invisi/frontend/src/RevealNote.js
API and access
- HTTP server
Invisi/backend/server.js - Auth endpoints
Invisi/backend/routes/auth.js - Session verification
Invisi/backend/middleware/auth.js - User records
Invisi/backend/models/User.js - Database connection
Invisi/backend/config/db.js
Timed messages
- Browser encryption
Invisi/frontend/src/utils/webcrypto.js - Message endpoints
Invisi/backend/routes/notes.js - Message records
Invisi/backend/models/Note.js - Reveal scheduler
Invisi/backend/services/revealChecker.js
External services
- Email delivery
Invisi/backend/services/emailService.js - MongoDB
- Email provider
Other components
- Sender
- Recipient
Connections 27
- Sender → Routes and shell: uses
- Recipient → Routes and shell: opens link
- Routes and shell → Session context: provides session
- Routes and shell → Protected pages: guards routes
- Routes and shell → Registration: routes
- Routes and shell → Sign in: routes
- Routes and shell → Create message: routes
- Routes and shell → My messages: routes
- Routes and shell → Message details: routes
- Routes and shell → Public reveal: routes
- Session context → HTTP server: requests auth
- HTTP server → Auth endpoints: dispatches
- HTTP server → Message endpoints: dispatches
- Auth endpoints → Session verification: protects session
- Message endpoints → Session verification: protects endpoints
- Auth endpoints → User records: reads and creates
- Session verification → User records: loads user
- Message endpoints → Message records: creates and queries
- Database connection → MongoDB: connects
- Message records → MongoDB: persists
- User records → MongoDB: persists
- HTTP server → Reveal scheduler: starts polling
- Message endpoints → Email delivery: sends share link
- Email delivery → Email provider: sends email
- Reveal scheduler → Email delivery: sends ready notice
- Sender → Browser encryption: encrypts message
- Recipient → Browser encryption: decrypts message