How nithishsenthil2025/pluten works
Pluten is a digital-products storefront and portfolio platform, with customer and admin experiences backed by an Express API. The main purchase flow runs from product checkout through server-side pricing and Cashfree payment, then records fulfillment and grants library access. Portfolio publishing and public viewing, account/library features, support, offers, and analytics/admin tools are distinct product areas. The README is empty, and several sources are only partially sampled, so the graph omits uncertain internal wiring while retaining major capabilities visible in the tree.
Main entry points: apiClient.ts Frontend API client · server.js API server · paymentController.js Payment controller · prisma.js Application database
Components 27
Web experience
- Storefront
frontend/src/app/page.tsx - Product checkout
frontend/src/app/product/[id]/ProductDetailClient.tsx - Customer library
frontend/src/app/library/page.tsx - Admin console
frontend/src/app/admin/page.tsx - Portfolio editor
frontend/src/app/portfolio/page.tsx - Public portfolio
frontend/src/app/p/[username]/page.tsx - Frontend API client
frontend/src/lib/apiClient.ts
Commerce API
- API server
backend/server.js - Payment routes
backend/routes/paymentRoutes.js - Payment controller
backend/controllers/paymentController.js - Offer pricing
backend/services/pricingService.js - Order fulfillment
backend/services/orderFulfillmentService.js - Entitlements
backend/services/entitlementService.js - Product routes
backend/routes/productRoutes.js
Portfolio platform
- Portfolio routes
backend/routes/portfolioRoutes.js - Portfolio management
backend/controllers/portfolioController.js - Portfolio service
backend/services/portfolioService.js
Operations
- Admin routes
backend/routes/adminRoutes.js - Admin analytics
backend/controllers/adminController.js - Analytics routes
backend/routes/analyticsRoutes.js - Authentication routes
backend/routes/authRoutes.js - Support routes
backend/routes/supportRoutes.js
Other components
- Customer
- Administrator
- Cashfree gateway
- Application database
backend/lib/prisma.js - Cashfree checkout
Connections 34
- Customer → Storefront: browses
- Storefront → Product checkout: opens product
- Customer → Product checkout: checks out
- Product checkout → Frontend API client: requests quote
- Product checkout → Frontend API client: creates order
- Frontend API client → API server: sends API request
- API server → Payment routes: mounts routes
- Payment routes → Payment controller: dispatches
- Payment controller → Offer pricing: calculates price
- Payment controller → Application database: reads and writes
- Payment controller → Cashfree gateway: creates payment
- Cashfree checkout → Cashfree gateway: processes checkout
- Payment controller → Order fulfillment: fulfills paid order
- Order fulfillment → Application database: updates order
- Order fulfillment → Entitlements: grants access
- Entitlements → Application database: stores entitlement
- Customer library → Frontend API client: loads library
- Administrator → Admin console: manages platform
- Admin console → Frontend API client: requests admin data
- Frontend API client → Admin routes: sends API request
- Admin routes → Admin analytics: dispatches
- Admin analytics → Application database: queries metrics
- Customer → Portfolio editor: creates portfolio
- Portfolio editor → Frontend API client: sends portfolio request
- Frontend API client → Portfolio routes: sends API request
- Portfolio routes → Portfolio management: dispatches
- Portfolio management → Portfolio service: uses service
- Portfolio management → Application database: reads and writes
- Public portfolio → Frontend API client: loads public portfolio
- Frontend API client → Product routes: sends API request
- API server → Product routes: mounts routes
- API server → Authentication routes: mounts routes
- API server → Analytics routes: mounts routes
- API server → Support routes: mounts routes