How ddpl-work/maven-qr works
This repository provides a company/job recruiting and QR promotion product: CRM staff create a company profile and openings, generate a QR redirect and downloadable PDF, while public visitors use a separate landing-page app. The server also exposes authentication, company, job, and CRM APIs. The main creation flow is evidenced directly in the QR controller; the tree supports the other subsystems, but their specific wiring and visitor/application behavior were not sampled, so those links are intentionally limited.
Main entry points: app.js HTTP application · qr.controller.js QR generation · company.routes.js Company routes · job.routes.js Job routes
Components 34
CRM console
- CRM app
client/src/App.jsx - CRM routes
client/src/routes/routes.jsx - Company QR form
client/src/pages/CRMPanel/CreateCompanyQR.jsx - CRM state
client/src/Redux/slices/qrSlice.js - QR requests
client/src/Redux/thunks/qrThunks.js - CRM API client
client/src/services/api.js
Public landing
- Landing app
qr-landing-page/src/App.jsx - Company landing
qr-landing-page/src/pages/Home.jsx - Landing state
qr-landing-page/src/Redux/slices/landingSlice.js - Landing requests
qr-landing-page/src/Redux/thunks/landingThunks.js - Landing API client
qr-landing-page/src/services/api.js
Recruiting API
- HTTP application
server/src/app.js - Authentication routes
server/src/routes/auth.routes.js - Authentication
server/src/controllers/auth.controller.js - Company routes
server/src/routes/company.routes.js - Job routes
server/src/routes/job.routes.js - QR routes
server/src/routes/qr.routes.js - CRM routes
server/src/routes/crm.routes.js - Landing routes
server/src/routes/landing.routes.js - QR generation
server/src/controllers/qr.controller.js - PDF generation
server/src/services/pdf.service.js - QR service
server/src/services/qr.service.js - Company management
server/src/controllers/company.controller.js - Job management
server/src/controllers/job.controller.js - Landing data
server/src/controllers/landing.controller.js - CRM operations
server/src/controllers/crm.controller.js - Access control
server/src/middleware/auth.middleware.js
Product records
- Companies
server/src/models/Company.js - Job openings
server/src/models/Job.js - QR records
server/src/models/QRCode.js - Accounts
server/src/models/User.js
Other components
- CRM staff
- QR visitor
- PDF hosting
server/src/config/cloudinary.js
Connections 35
- CRM staff → CRM app: uses
- CRM app → CRM routes: renders
- CRM routes → Company QR form: routes
- Company QR form → QR requests: dispatches
- QR requests → CRM API client: requests
- CRM API client → HTTP application: calls API
- HTTP application → QR routes: mounts
- QR routes → Access control: protects
- QR routes → QR generation: dispatches
- QR generation → Companies: creates
- QR generation → Job openings: creates and reads
- QR generation → PDF generation: generates PDF
- PDF generation → PDF hosting: fetches images
- QR generation → PDF hosting: uploads PDF
- QR generation → QR records: creates and reads
- QR visitor → Landing app: opens
- Landing app → Company landing: routes
- Company landing → Landing requests: dispatches
- Landing requests → Landing API client: requests
- Landing API client → HTTP application: calls API
- HTTP application → Landing routes: mounts
- Landing routes → Landing data: dispatches
- Landing data → Companies: reads
- Landing data → Job openings: reads
- HTTP application → Authentication routes: mounts
- Authentication routes → Authentication: dispatches
- Authentication → Accounts: reads and creates
- HTTP application → Company routes: mounts
- Company routes → Company management: dispatches
- Company routes → Access control: protects
- HTTP application → Job routes: mounts
- Job routes → Job management: dispatches
- Job routes → Access control: protects
- HTTP application → CRM routes: mounts
- CRM routes → CRM operations: dispatches