Skip to content

πŸ’Έ A Modern, clean, responsive Invoice Builder frontend built with React, Tailwind CSS, and Context API. Features client/product management, PDF export, and seamless backend integration.

Notifications You must be signed in to change notification settings

Aarthi1720/Invoice_Builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧾 Invoice Builder (Frontend)

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.


✨ Features

  • πŸ“ 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

βš™οΈ Tech Stack

  • βš› 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)

πŸ“‚ Project Structure

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


πŸš€ Getting Started

Prerequisites

  • Node.js (v18+ recommended)
  • Backend server running (see backend README)

Installation

# Navigate into frontend folder
cd frontend

# Install dependencies
npm install

Running the app

# Start development server
npm run dev

App will be available at: http://localhost:5173

Build for production

npm run build

πŸ”— Backend Connection

  • 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.

πŸ“Έ Screenshots

alt text


🀝 Why This Project?

  • 🎯 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


πŸ† What I Learned

  • 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


⚠️ Limitations & Future Improvements

  • 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


About

πŸ’Έ A Modern, clean, responsive Invoice Builder frontend built with React, Tailwind CSS, and Context API. Features client/product management, PDF export, and seamless backend integration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages