Skip to content

SmartInvoice is a modern invoicing web application designed to streamline billing for freelancers and small businesses.

Notifications You must be signed in to change notification settings

HA2345567/SmartInvoice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SmartInvoice - Professional Invoice Management System

A comprehensive, production-ready invoice management system built with Next.js, featuring AI-powered suggestions, automated reminders, and professional PDF generation.

πŸš€ Features

Core Functionality

  • Professional Invoice Creation - Beautiful, branded PDF invoices
  • Client Management - Comprehensive client database with history
  • Payment Tracking - Multiple payment methods and status tracking
  • Analytics Dashboard - Revenue insights and business metrics
  • Export Capabilities - CSV exports and bulk PDF downloads

Smart Features

  • AI Auto-Suggestions - Smart line item and client suggestions
  • Automated Reminders - Intelligent overdue invoice management
  • Multi-Currency Support - Global business ready
  • GST/VAT Handling - Tax compliance built-in
  • Email Integration - Automated invoice delivery

Technical Excellence

  • Responsive Design - Mobile-first, professional UI
  • SQLite Database - Reliable local data storage
  • JWT Authentication - Secure user management
  • PDF Generation - Professional branded invoices
  • Email Service - SMTP integration for notifications

πŸ›  Technology Stack

  • Frontend: Next.js 13, React, TypeScript
  • Styling: Tailwind CSS, Custom Green Theme
  • Database: SQLite with migration support
  • Authentication: JWT with bcrypt
  • PDF Generation: jsPDF with custom templates
  • Email: Nodemailer with SMTP
  • Icons: Lucide React
  • UI Components: Custom component library

πŸ“¦ Installation & Setup

Prerequisites

  • Node.js 18+
  • npm or yarn

Quick Start

  1. Clone and Install

    git clone <repository-url>
    cd smartinvoice
    npm install
  2. Environment Configuration Create .env.local file:

    JWT_SECRET=your-super-secure-jwt-secret
    EMAIL_HOST=smtp.gmail.com
    EMAIL_PORT=587
    EMAIL_USER=[email protected]
    EMAIL_PASS=your-app-password
    EMAIL_FROM=[email protected]
    NEXT_PUBLIC_APP_URL=http://localhost:3000
  3. Start Development Server

    npm run dev
  4. Access Application

Email Configuration (Gmail)

  1. Enable 2-Factor Authentication on your Gmail account
  2. Generate an App Password:
    • Go to Google Account Settings
    • Security β†’ 2-Step Verification β†’ App passwords
    • Generate password for "Mail"
  3. Use the generated password in EMAIL_PASS

Test Email Configuration

Visit /api/test-email to verify email setup.

πŸš€ Deployment

Production Environment Variables

JWT_SECRET=your-production-jwt-secret
DATABASE_URL=your-production-database-url
EMAIL_HOST=your-smtp-host
EMAIL_USER=your-email
EMAIL_PASS=your-email-password
EMAIL_FROM=your-from-email
NEXT_PUBLIC_APP_URL=https://your-domain.com
NODE_ENV=production

Deployment Platforms

Vercel (Recommended)

npm run build
vercel --prod

Railway

railway login
railway init
railway up

Docker

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]

πŸ“Š Business Features

Invoice Management

  • Professional PDF generation with branding
  • Multiple templates and customization
  • Automatic numbering and tracking
  • Status management (Draft, Sent, Paid, Overdue)

Client Relationship Management

  • Complete client profiles
  • Invoice history and analytics
  • Payment behavior tracking
  • Communication logs

Financial Analytics

  • Revenue tracking and forecasting
  • Payment analytics
  • Client performance metrics
  • Export capabilities for accounting

Automation

  • Smart reminder system
  • Overdue invoice management
  • Email automation
  • Payment notifications

🎨 Customization

Branding

  • Update company information in invoice templates
  • Customize colors in globals.css
  • Replace logo in PDF generator
  • Modify email templates

Features

  • Add payment gateway integration
  • Implement recurring invoices
  • Add time tracking
  • Extend reporting capabilities

πŸ”§ API Endpoints

Authentication

  • POST /api/auth/login - User login
  • POST /api/auth/signup - User registration
  • GET /api/auth/me - Get current user

Invoices

  • GET /api/invoices - List invoices
  • POST /api/invoices - Create invoice
  • GET /api/invoices/[id] - Get invoice
  • PUT /api/invoices/[id] - Update invoice
  • DELETE /api/invoices/[id] - Delete invoice
  • GET /api/invoices/[id]/pdf - Download PDF

Clients

  • GET /api/clients - List clients
  • POST /api/clients - Create client
  • GET /api/clients/[id] - Get client
  • PUT /api/clients/[id] - Update client
  • DELETE /api/clients/[id] - Delete client

Analytics & Export

  • GET /api/analytics - Business analytics
  • GET /api/export/invoices - Export invoices CSV
  • GET /api/export/clients - Export clients CSV

πŸ›‘ Security Features

  • JWT-based authentication
  • Password hashing with bcrypt
  • Input validation and sanitization
  • SQL injection prevention
  • XSS protection
  • CORS configuration

πŸ“± Mobile Support

  • Fully responsive design
  • Touch-friendly interface
  • Mobile-optimized forms
  • Progressive Web App ready

🀝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

For support and questions:

  • Create an issue on GitHub
  • Email: [email protected]
  • Documentation: [docs.smartinvoice.com]

🎯 Roadmap

  • Payment gateway integration (Stripe, Razorpay)
  • Recurring invoice automation
  • Time tracking integration
  • Multi-language support
  • Advanced reporting
  • Mobile app development
  • API for third-party integrations

SmartInvoice - Professional invoice management for modern businesses.

About

SmartInvoice is a modern invoicing web application designed to streamline billing for freelancers and small businesses.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published