How danielcastilla/xprompts works
Prompt Manager lets visitors browse, search, filter, copy, and open shared prompts; signed-in users can also manage their own prompts and favorites, while administrators manage prompts and users. The main flow runs from the React router through home or admin screens to the Express API and MongoDB. The README documents browsing capabilities, and sampled screens show prompt cards, detail modal, user submission, login, and admin management. Some API and UI wiring is supported only by the SOURCE INDEX; unshown relationships are omitted rather than inferred.
Main entry points: server.js Express API and auth · Home.js Prompt browsing · App.js Route and session state · database.js Prompt and user models
Components 19
React application
- Route and session state
frontend/src/App.js - Prompt browsing
frontend/src/pages/Home.js - Brand header
frontend/src/components/Header.js - Category filtering
frontend/src/components/CategoryFilter.js - Prompt cards
frontend/src/components/PromptCard.js - Prompt details
frontend/src/components/Modal.js - User prompt submission
frontend/src/components/UserPromptForm.js - Admin login
frontend/src/pages/Admin/Login.js - Admin management
frontend/src/pages/Admin/AdminDashboard.js - Admin prompt editor
frontend/src/pages/Admin/AdminPromptForm.js
Backend API
- Express API and auth
backend/server.js - Turso API variant
backend/server-turso.js
Persistence
- Database initialization
backend/init-db.js - Prompt and user models
backend/database.js
Other components
- Visitor
- Signed-in user
- Administrator
- MongoDB
- Google OAuth
Connections 23
- Visitor → Route and session state: opens
README.md - Signed-in user → Route and session state: uses
frontend/src/App.js - Administrator → Route and session state: uses
frontend/src/App.js - Route and session state → Prompt browsing: routes to
frontend/src/App.js - Route and session state → Admin login: routes to
frontend/src/App.js - Route and session state → Admin management: routes to
frontend/src/App.js - Prompt browsing → Brand header: renders
frontend/src/pages/Home.js - Prompt browsing → Prompt cards: renders
frontend/src/pages/Home.js - Prompt browsing → Prompt details: renders
frontend/src/pages/Home.js - Prompt browsing → User prompt submission: renders
frontend/src/pages/Home.js - Prompt browsing → Express API and auth: fetches prompts
frontend/src/pages/Home.js - User prompt submission → Express API and auth: submits prompt
frontend/src/components/UserPromptForm.js - Admin login → Express API and auth: authenticates
frontend/src/pages/Admin/Login.js - Admin login → Google OAuth: starts OAuth
frontend/src/pages/Admin/Login.js - Google OAuth → Express API and auth: returns callback
backend/server.js - Admin management → Express API and auth: manages users
frontend/src/pages/Admin/AdminDashboard.js - Admin management → Admin prompt editor: opens editor
frontend/src/pages/Admin/AdminDashboard.js - Admin prompt editor → Express API and auth: saves prompt
frontend/src/pages/Admin/AdminPromptForm.js - Category filtering → Express API and auth: requests categories
- Express API and auth → Prompt and user models: queries and updates
backend/server.js - Database initialization → Prompt and user models: initializes
backend/init-db.js - Prompt and user models → MongoDB: persists data
backend/database.js - Turso API variant → Prompt and user models: uses shared models
backend/server-turso.js