quotation-generator

byAbhijeet Talegaonkar

Role: You are a Senior Full-Stack Developer. Task: Build a "Quotation Generator Web App" for an IT agency. Tech Stack: React.js (Frontend), Tailwind CSS (Styling), Node.js/Express (Backend), and MongoDB (Database). For PDF generation, use jspdf and html2canvas. Requirements: 1. Frontend (React): Header: Agency Logo placeholder, App Title ("QuoteGen"). Client Info Section: Inputs for Client Name, Company, Date, and Validity. Module Builder: 4 main sections (Website, Android App, iOS App, Custom Software). Dynamic Line Items: Within each module, allow the user to click "Add Task". Each task has: Task Name, Estimated Hours, and Hourly Rate (or Flat Cost). Allow removing tasks. Financial Summary (Sticky Sidebar or Bottom): Auto-calculate Subtotal, apply an optional "Discount %", calculate GST (18%), and show the Grand Total. Action Buttons: "Save Quote" (to Database) and "Export PDF" (generates a clean, professional PDF). 2. Backend (Node/Express): Create API endpoints: POST /api/quotes (save quote), GET /api/quotes (get all quotes), GET /api/quotes/:id (get specific quote). 3. Database (MongoDB): Design a schema that stores the client info, the array of selected modules, the specific tasks within those modules, the calculated totals, and the date created. 4. PDF Generation: The PDF must look professional. It should have a header with the Agency Logo, Client Info, a Table of Modules/Tasks, and a clear Financial Summary at the bottom. Please provide: The folder structure. The React component code for the main form and the dynamic line items. The Node.js API code. The MongoDB schema. The exact code for the PDF generation function.

LandingLogin
Landing

Comments (0)

No comments yet. Be the first!

Login design preview
Landing: Read intro and modules
Sign Up: Open enrollment form
Sign Up: 1. Create account
Sign Up: 2. Correct duplicate email
Login: Open sign-in form
Login: 1. Log in
Login: 2. Correct invalid credentials
New Quote: 1. Enter client info
New Quote: 2. Select module tab
New Quote: 3. Add task row
New Quote: 4. Fill task fields
New Quote: 5. Remove task row
New Quote: 6. Enter discount percent
New Quote: 7. Review grand total
New Quote: 8. Save quote
New Quote: 9. Retry failed save
New Quote: 10. Export PDF
New Quote: 11. Retry failed export
Quotes: 12. Confirm saved quote listed
Landing design preview
Landing: Read intro and modules
Sign Up: Open enrollment form
Sign Up: 1. Create account
Sign Up: 2. Correct duplicate email
Login: Open sign-in form
Login: 1. Log in
Login: 2. Correct invalid credentials
New Quote: 1. Enter client info
New Quote: 2. Select module tab
New Quote: 3. Add task row
New Quote: 4. Fill task fields
New Quote: 5. Remove task row
New Quote: 6. Enter discount percent
New Quote: 7. Review grand total
New Quote: 8. Save quote
New Quote: 9. Retry failed save
New Quote: 10. Export PDF
New Quote: 11. Retry failed export
Quotes: 12. Confirm saved quote listed