Skip to content

UnderprotectionDev/invoice-platform

Repository files navigation

Invoice Platform 📊

Modern and user-friendly invoice management platform built with the latest web technologies.

Hero Image

Next.js TypeScript Auth.js Zod Conform PostgreSQL Prisma Tailwind CSS Shadcn/ui Mailtrap jsPDF Vercel


✨ Features

Feature Description
🎨 Modern UI/UX Intuitive and beautiful user interface using shadcn/ui
🔒 Authentication Secure user authentication with Auth.js
📱 Responsive Fully responsive design for all devices
📊 Dashboard Comprehensive analytics and invoice management
📄 PDF Export Generate and download professional PDF invoices
📧 Email Automated email notifications for invoices
🔄 Real-time Real-time updates and notifications

🚀 Quick Start

# Clone the repository
git clone https://github.com/yourusername/invoice-platform.git

# Navigate to the project
cd invoice-platform

# Install dependencies
npm install

# Start development server
npm run dev

Visit http://localhost:3000 to see your application

🛠️ Tech Stack

Click to expand tech stack details

Core Framework

Authentication & Form Management

  • Auth.js - Authentication for Next.js
  • Zod - TypeScript-first schema validation
  • Conform - Form validation library

Database & ORM

  • Neon - Serverless Postgres database
  • Prisma - Next-generation ORM

UI Components & Styling

Additional Features

  • Mailtrap - Email delivery service
  • jsPDF - Client-side PDF generation

Deployment

  • Vercel - Platform for frontend deployment

📸 Screenshots

Dashboard

Dashboard

Invoices View

Dashboard

Invoice Creation

Hero Image

🔐 Environment Variables

To run this project, you will need to add the following environment variables to your .env file:

Variable Description
AUTH_SECRET Secret key for authentication
EMAIL_SERVER_USER SMTP server username
EMAIL_SERVER_PASSWORD SMTP server password
EMAIL_SERVER_HOST SMTP server host
EMAIL_SERVER_PORT SMTP server port
EMAIL_FROM Email sender address
MAILTRAP_TOKEN Mailtrap API token
DATABASE_URL PostgreSQL database URL
AUTH_SECRET=""

EMAIL_SERVER_USER=
EMAIL_SERVER_PASSWORD=
EMAIL_SERVER_HOST=
EMAIL_SERVER_PORT=
EMAIL_FROM=

MAILTRAP_TOKEN=

DATABASE_URL=""