How thenabinamallik/webgoai works
WebGoAI lets users generate, refine, preview, deploy, and download AI-created websites, with Google sign-in and credit purchases. The main workflow runs from the React app through website API routes to the generation controller, which uses OpenRouter and stores website state in MongoDB; the editor then supports iteration and deployment. The README documents additional product capabilities, while some frontend and backend implementation details were not sampled, so those links are shown only where documented or indexed.
Main entry points: App.jsx React router · websiteController.js Website controller · userModel.js User records · WebsiteEditor.jsx Website editor
Components 29
Web app
- React router
frontend/src/App.jsx - Home
frontend/src/pages/Home.jsx - Dashboard
frontend/src/pages/Dashboard.jsx - Generate page
frontend/src/pages/Generate.jsx - Website editor
frontend/src/pages/WebsiteEditor.jsx - AI chat panel
frontend/src/components/ChatPanel.jsx - Public site
frontend/src/pages/LiveSite.jsx - Pricing page
frontend/src/pages/Pricing.jsx - Navigation
frontend/src/components/Navbar.jsx
Website workflow
- Website routes
backend/routes/websiteRoute.js - Website controller
backend/controllers/websiteController.js - Website records
backend/models/websiteModel.js - JSON extraction
backend/utils/extractJson.js
Identity and credits
- Login modal
frontend/src/components/LoginModal.jsx - User state
frontend/src/redux/userSlice.js - Auth routes
backend/routes/authRoute.js - Auth controller
backend/controllers/authController.js - JWT middleware
backend/middlewares/isAuthenticated.js - User records
backend/models/userModel.js - Payment routes
backend/routes/paymentRoute.js - Payment controller
backend/controllers/paymentController.js - Payment records
backend/models/paymentModel.js
External services
- AI request client
backend/config/openRouter.js - OpenRouter AI
- Razorpay config
backend/config/razorpay.js - Razorpay
- Firebase Auth
frontend/src/firebase.js - MongoDB
Other components
- Website user
Connections 34
- Website user → React router: uses
README.md - React router → Home: routes to
frontend/src/App.jsx - React router → Dashboard: routes to
frontend/src/App.jsx - React router → Generate page: routes to
frontend/src/App.jsx - React router → Website editor: routes to
frontend/src/App.jsx - React router → Public site: routes to
frontend/src/App.jsx - React router → Pricing page: routes to
frontend/src/App.jsx - Home → Navigation: renders
frontend/src/pages/Home.jsx - Navigation → Login modal: opens
frontend/src/components/Navbar.jsx - Login modal → Firebase Auth: authenticates with
frontend/src/components/LoginModal.jsx - Login modal → User state: updates
frontend/src/components/LoginModal.jsx - Website editor → AI chat panel: renders
frontend/src/pages/WebsiteEditor.jsx - Website editor → Website routes: requests website API
frontend/src/pages/WebsiteEditor.jsx - Website editor → Public site: opens deployed site
- Website routes → Website controller: dispatches to
backend/routes/websiteRoute.js - Website controller → AI request client: requests generation
backend/controllers/websiteController.js - AI request client → OpenRouter AI: sends prompt
backend/config/openRouter.js - Website controller → JSON extraction: parses response
backend/controllers/websiteController.js - Website controller → User records: checks and updates credits
backend/controllers/websiteController.js - Website controller → Website records: reads and saves sites
backend/controllers/websiteController.js - Website routes → JWT middleware: protects routes
backend/routes/websiteRoute.js - Auth routes → Auth controller: dispatches to
backend/routes/authRoute.js - Auth routes → JWT middleware: protects logout
backend/routes/authRoute.js - Auth controller → User records: finds or creates
backend/controllers/authController.js - JWT middleware → User records: loads user
backend/middlewares/isAuthenticated.js - Pricing page → Payment routes: purchases credits
README.md - Payment routes → Payment controller: dispatches to
backend/routes/paymentRoute.js - Payment controller → Razorpay config: creates order
backend/controllers/paymentController.js - Razorpay config → Razorpay: configures client
backend/config/razorpay.js - Payment controller → Payment records: records payment
backend/controllers/paymentController.js - Payment controller → User records: adds credits
backend/controllers/paymentController.js - Payment routes → JWT middleware: protects routes
backend/routes/paymentRoute.js - Website records → MongoDB: persists in
README.md - User records → MongoDB: persists in
README.md