How medpro26/batiplusmaroc works
BatiPlusMaroc is a construction-services site and client–company marketplace. The main journey is a client creating a project, companies discovering it and submitting quotes, then participants coordinating site visits and final quotes through conversation. Separate surfaces support company profiles and portfolios, public service and project discovery, administration, and SEO content management. The tree and excerpts establish these product areas, but most page-to-Convex bindings are unsampled; those connections are therefore not asserted here.
Main entry points: siteVisits/index.ts Visit services · schema.ts Convex data · finalQuotes/index.ts Final quote services · page.tsx Contact form
Components 28
Public discovery
- Public site
app/[locale]/(public)/page.tsx - Project discovery
app/[locale]/(public)/projets/page.tsx - Company directory
app/[locale]/(public)/entreprises/page.tsx - Contact form
app/[locale]/(public)/contactez-nous/page.tsx - Contact email API
app/api/contact/route.ts
Marketplace workflow
- Client workspace
app/[locale]/(account)/espace-client/page.tsx - Project creation
app/[locale]/(account)/espace-client/projets/nouveau/page.tsx - Company workspace
app/[locale]/(account)/espace-entreprise/page.tsx - Portfolio manager
features/portfolio/components/portfolio-manager.tsx - Quote workspaces
features/quotes/components/company-initial-quote-workspace.tsx - Site assessments
features/site-assessments/components/site-assessment-panel.tsx - Final quotes
features/final-quotes/components/conversation-final-quote-panel.tsx
Accounts and messaging
- Messages
features/messages/components/messages-inbox.tsx - Authentication
convex/auth.ts
Operations
- Admin console
app/[locale]/(admin)/admin/page.tsx - SEO workspace
app/[locale]/(seo)/seo/page.tsx - SEO content
convex/seo/content.ts
Convex backend
- Project services
convex/projects/index.ts - Company services
convex/companies/index.ts - Visit services
convex/siteVisits/index.ts - Final quote services
convex/finalQuotes/index.ts - Marketplace activity
convex/marketplaceActivity/model.ts - Convex data
convex/schema.ts
Other components
- Visitor
- Client
- Company user
- Administrator
- Resend email
Connections 30
- Visitor → Public site: browses
- Visitor → Project discovery: browses
- Visitor → Company directory: browses
- Visitor → Contact form: submits
- Contact form → Contact email API: posts form
- Contact email API → Resend email: sends email
- Client → Client workspace: uses
- Client → Project creation: creates project
- Company user → Company workspace: uses
- Company user → Portfolio manager: manages portfolio
- Client → Quote workspaces: reviews quotes
- Company user → Quote workspaces: submits quote
- Client → Site assessments: coordinates visit
- Company user → Site assessments: coordinates visit
- Client → Final quotes: reviews quote
- Company user → Final quotes: submits quote
- Client → Messages: messages
- Company user → Messages: messages
- Client workspace → Authentication: requires identity
- Company workspace → Authentication: requires identity
- Administrator → Admin console: manages platform
- SEO workspace → SEO content: manages content
- Visit services → Project services: checks project access
- Visit services → Marketplace activity: records activity
- Final quote services → Visit services: checks visit state
- Final quote services → Marketplace activity: records activity
- Company services → Convex data: reads and writes
- Project services → Convex data: reads and writes
- Visit services → Convex data: reads and writes
- Final quote services → Convex data: reads and writes