A clean, professional web application frontend to create, manage, and export invoices for any business or freelancer.
Built with ReactJS, Tailwind CSS, and Context API, this frontend connects seamlessly with the backend API for persistent data storage.
-
π Invoice Management
- Create, edit, and view invoices
- Track status (Draft, Paid, Unpaid)
- Auto-calculate subtotal, taxes, extra fees, and grand total
- Custom invoice numbers and due dates
-
π’ Company Profile
- Add business details (name, address, email, phone)
- Upload and display company logo and banner
-
π₯ Client Management
- Add, edit, and delete clients
- Autofill client details in invoices
- Reuse saved clients
-
π¦ Product Management
- Add, edit, and delete products
- Save reusable products for invoices
- Autofill price and description
-
π€ Export Invoices
- Download professional PDF invoices using jsPDF & html2canvas
-
π¨ UI/UX
- Modern, responsive, mobile-first design
- Dashboard with search and filtering
- Toast notifications for instant feedback
- Splash screen for professional app feel
- β ReactJS (Vite)
- π¨ Tailwind CSS (styling)
- π React Router (navigation)
- π¦ React Context API (state management)
- π react-toastify (notifications)
- π§βπ» Lucide-react (icons)
- π¨ jsPDF + html2canvas (PDF export)
- π Axios (API calls to backend)
frontend/ β£ π src β β£ π assets/ # Images, logos, icons β β£ π components/ # Reusable UI components β β β£ business/ β β β£ clients/ β β β£ invoices/ β β β£ products/ β β β£ layout/ β β£ π context/ # React Context (Company, Clients, Invoices, Products) β β£ π pages/ # Page-level views (Dashboard, Invoices, Clients, Products) β β£ π services/ # API helper functions (axios) β β£ π utils/ # Utility functions β β£ App.jsx β β£ main.jsx β β£ index.css β£ package.json β README.md
- Node.js (v18+ recommended)
- Backend server running (see backend README)
# Navigate into frontend folder
cd frontend
# Install dependencies
npm install# Start development server
npm run devApp will be available at: http://localhost:5173
npm run build- Configure your backend API base URL in
.env:
VITE_API_URL=http://localhost:5000/api- The frontend communicates with backend endpoints for invoices, clients, products, and company profiles.
-
π― Practice full-stack development with React + Express + MongoDB
-
π§© Showcases reusable, modular frontend components
-
πΌ Real-world project for resume/portfolio
-
π Implements invoice workflows used by businesses & freelancers
-
Using React Context API for complex state management
-
Connecting frontend with Express/MongoDB backend
-
Clean UI/UX design with Tailwind CSS
-
Real-world invoice PDF generation
-
Structuring scalable full-stack projects
-
No authentication implemented yet
-
All invoices, clients, and products are shared if multiple users connect to the same backend
-
Future improvement: integrate login/signup and secure per-user data with JWT
