https://github.com/sreenathkumar/quinvox
QuInvox is a modern, lightweight invoice generator built with Next.js, Tailwind CSS, and Zustand. It helps users create, preview, and manage invoices effortlessly โ all from a clean, responsive interface.
https://github.com/sreenathkumar/quinvox
better-auth nextjs shadcn-ui taildwindcss typescript zustand
Last synced: about 1 month ago
JSON representation
QuInvox is a modern, lightweight invoice generator built with Next.js, Tailwind CSS, and Zustand. It helps users create, preview, and manage invoices effortlessly โ all from a clean, responsive interface.
- Host: GitHub
- URL: https://github.com/sreenathkumar/quinvox
- Owner: sreenathkumar
- Created: 2025-11-09T18:33:43.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-04-02T17:36:35.000Z (about 2 months ago)
- Last Synced: 2026-04-19T06:39:49.689Z (about 1 month ago)
- Topics: better-auth, nextjs, shadcn-ui, taildwindcss, typescript, zustand
- Language: TypeScript
- Homepage: https://quinvox.vercel.app
- Size: 2.6 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Quinvox
Quinvox is a modern, fast, and free online invoice creator. It allows freelancers and small businesses to generate professional invoices, manage client details, and export documents to PDF seamlessly.
---
## ๐ Features
- **Instant Invoice Generation:** Create invoices quickly with a user-friendly form interface.
- **Live Preview:** See changes in real-time as you edit invoice details.
- **PDF Export & Print:** Download invoices as high-quality PDFs or print them directly from the browser.
- **Local Persistence:** Invoices are saved locally using browser storage, so you don't lose your work on refresh.
- **Cloud Backup:** Invoices will be saved on cloud automatically for multi device sync.
- **Authentication:** Optional User Sign-up/Login to manage sessions (powered by Better Auth).
- **Client & Biller Management:** Easily input and manage billing details for both parties.
- **Tax & Totals Calculation:** Automatic calculation of subtotals, taxes, and grand totals.
---
## ๐ ๏ธ Tech Stack
- **Framework:** Next.js 15 (App Router)
- **Language:** TypeScript
- **Styling:** Tailwind CSS
- **UI Components:** Shadcn UI (Radix UI)
- **State Management:** Zustand with persistence
- **Forms & Validation:** React Hook Form + Zod
- **Auth:** Better-Auth
- **PDF Generation:** html2canvas, jspdf, react-to-print
- **Testing:** Vitest + React Testing Library
- **Deployment:** Vercel
---
## ๐ Project Structure
```
quinvox/
โโโ app/ # Next.js App Router pages
โ โโโ dashboard/
โ โโโ invoice/
โ โโโ login/
โ โโโ signup/
โโโ components/ # Reusable UI components
โโโ hooks/ # Custom hooks (Zustand stores, utilities)
โโโ lib/ # Firebase config, helpers, utils
โโโ styles/ # Global Tailwind styles
โโโ tests/ # Vitest + RTL test files
โโโ public/ # Public static assets
โโโ package.json
```
---
## ๐ง Environment Variables
Create a `.env` file in the root directory and add:
```bash
BETTER_AUTH_SECRET
BETTER_AUTH_URL
DATABASE_URL
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
LINKEDIN_CLIENT_ID
LINKEDIN_CLIENT_SECRET
EMAIL_SEVER_API_KEY
```
---
## ๐ป Getting Started
### Prerequisites
- Node.js v18+
- pnpm (recommended), npm, or yarn
### Installation Steps
1. **Clone the repository**
```bash
git clone https://github.com/your-username/quinvox.git
cd quinvox
```
2. **Install dependencies**
```bash
pnpm install
# or npm install
```
3. **Run the development server**
```bash
pnpm dev
```
4. Visit:
```
http://localhost:3000
```
---
## ๐ Available Scripts
| Command | Description |
| ------------ | ----------------------- |
| `pnpm dev` | Run development server |
| `pnpm build` | Build for production |
| `pnpm start` | Start production server |
| `pnpm lint` | Run ESLint |
| `pnpm test` | Run tests |
---
## ๐งช Testing
Quinvox uses:
- **Vitest** for unit testing
- **React Testing Library** for component testing
- **(Optional)** MSW for API mocking
Run tests:
```bash
pnpm test
```
---
## ๐ฆ Deployment
You can deploy Quinvox easily using **Vercel**:
1. Push the project to a GitHub repository
2. Import it into Vercel
3. Add required environment variables
4. Deploy ๐
---
## ๐ฑ Roadmap
- [ ] Send invoices via email
- [ ] Invoice templates & themes
- [ ] Multi-language support
- [ ] Team & workspace collaboration
- [ ] Easy share
---
## ๐ค Contributing
Contributions are welcome and appreciated!
1. Fork the repository
2. Create a new feature branch
3. Commit using conventional commit messages
4. Open a pull request
**Example commit messages:**
```
feat: add dark mode toggle
fix: correct invoice total calculation
refact: optimize Zustand store
```
---
## ๐ License
Quinvox is released under the **MIT License**.
You are free to use, modify, and distribute this project.
---
## โญ Support the Project
If you find Quinvox useful:
- โญ Star the repository
- ๐ฎ Share it with others
- ๐ ๏ธ Contribute improvements