MCPcopy Index your code
hub / github.com/al1abb/invoify

github.com/al1abb/invoify @main

repository ↗ · DeepWiki ↗ · Ask this repo → · + Follow
171 symbols 567 edges 112 files 0 documented · 0% updated 6d ago★ 6,31121 open issues
README

Discord

Invoify

Invoify is a web-based invoice generator application built with Next.js 13, TypeScript, React, and the Shadcn UI library. It provides an easy way to create and manage professional invoices.

Invoify Website image

Table of Contents

Technologies

Core Technologies

  • Next.js: React framework for SSR and client-side navigation.
  • TypeScript: JavaScript superset with static typing.
  • Shadcn-UI: UI library for enhanced visuals.
  • Tailwind: Utility-first CSS framework.
  • React Hook Form: Form management for React.
  • Zod: TypeScript-first schema validation.
  • Puppeteer: PDF generation with headless browsers.

Additional Dependencies

  • Nodemailer: Node.js module for sending emails.
  • Lucide Icons: Collection of customizable SVG icons.

Roadmap

  • [x] Easily Create Invoices: Utilize a simple form to quickly generate invoices.
  • [x] Save for Future Access: Store your invoices directly in your browser for easy retrieval.
  • [x] Retrieve Invoices Effortlessly: Load and access invoices seamlessly from your saved list.
  • [x] Flexible Download Options: Download invoices directly or send them via email in PDF format.
  • [x] Template Variety: Choose from multiple (currently 2) invoice templates.
  • [x] Live Preview: Edit the form and see changes in real-time with the live preview feature.
  • [x] Export in Various Formats: Export invoices in different formats, including JSON, XLSX, CSV, and XML.
  • [ ] I18N Support: i18n support with multiple languages for UI and templates.
  • [ ] Themeable Templates: Select a theme color for the invoice
  • [ ] Custom Inputs: Define your own inputs that are missing from the default invoice builder. (Ex: VAT number)
  • [ ] Individual Tax for Line Items: Add tax details for a specific line item other than the general tax

Demo

[!NOTE] Please be advised that there are currently issues when using this application in the Mozilla Firefox browser. For more information, refer to Issue #11.

Visit the live demo to see Invoify in action.

Getting Started

Follow these instructions to get Invoify up and running on your local machine.

Prerequisites

  • Node.js and npm installed on your system.

Installation

  1. Clone the repository:

bash git clone https://github.com/al1abb/invoify.git cd invoify 2. Install dependencies

bash npm install 3. Create an .env.local file with this content (This step is for sending pdf to email feature): env NODEMAILER_EMAIL=your_email@example.com NODEMAILER_PW=your_email_password 4. Start development server

```bash
npm run dev
```
  1. Open your web browser and access the application at http://localhost:3000

License

Distributed under the MIT License. See LICENSE.txt for more information.

Discord

Join the Discord server here

Extension points exported contracts — how you extend this code

TextareaProps (Interface)
(no doc)
components/ui/textarea.tsx
Window (Interface)
(no doc)
app/components/invoice/form/VoiceInput.tsx
InputProps (Interface)
(no doc)
components/ui/input.tsx
State (Interface)
(no doc)
components/ui/use-toast.ts
ButtonProps (Interface)
(no doc)
components/ui/button.tsx
BadgeProps (Interface)
(no doc)
components/ui/badge.tsx

Core symbols most depended-on inside this repo

cn
called by 71
lib/utils.ts
useTranslationContext
called by 15
contexts/TranslationContext.tsx
useInvoiceContext
called by 9
contexts/InvoiceContext.tsx
formatNumberWithCommas
called by 8
lib/helpers.ts
toast
called by 7
components/ui/use-toast.ts
dispatch
called by 5
components/ui/use-toast.ts
useFormField
called by 4
components/ui/form.tsx
useSignatureContext
called by 4
contexts/SignatureContext.tsx

Shape

Function 163
Interface 6
Enum 2

Languages

TypeScript100%

Modules by API surface

contexts/InvoiceContext.tsx13 symbols
components/ui/use-toast.ts9 symbols
lib/helpers.ts8 symbols
hooks/useToasts.tsx8 symbols
contexts/SignatureContext.tsx7 symbols
app/components/invoice/form/sections/Items.tsx6 symbols
app/components/modals/invoice/components/SavedInvoicesList.tsx5 symbols
app/components/modals/alerts/NewInvoiceAlert.tsx4 symbols
app/components/invoice/form/VoiceInput.tsx4 symbols
contexts/TranslationContext.tsx3 symbols
contexts/ChargesContext.tsx3 symbols
app/components/reusables/form-fields/FormFile.tsx3 symbols

Dependencies from manifests, versioned

@dnd-kit/core6.1.0 · 1×
@dnd-kit/sortable8.0.0 · 1×
@dnd-kit/utilities3.2.2 · 1×
@hookform/resolvers3.3.2 · 1×
@json2csv/node7.0.3 · 1×
@next/bundle-analyzer14.0.4 · 1×
@radix-ui/react-alert-dialog1.1.15 · 1×
@radix-ui/react-aspect-ratio1.1.7 · 1×
@radix-ui/react-dialog1.1.15 · 1×
@radix-ui/react-label2.1.7 · 1×
@radix-ui/react-navigation-menu1.2.14 · 1×
@radix-ui/react-popover1.1.15 · 1×

For agents

$ claude mcp add invoify \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact