All projects
Portfolio ProjectPublic

Mini ERP Invoicing System

A full-stack invoicing and customer management system built with Next.js, NestJS, Prisma, and PostgreSQL. The system includes JWT authentication, customer management, invoice creation with multiple items, invoice status tracking, dashboard analytics, IDR currency formatting, revenue trend visualization, invoice status chart, top customers table, recent invoices, and Swagger API documentation.

Mini ERP Invoicing System application screenshot

Problem

Small business invoicing needs structured customer data, invoice status tracking, and financial summaries without manual spreadsheets.

Solution

Built a full-stack Mini ERP with JWT authentication, REST API, invoice/customer modules, dashboard analytics, charts, tables, and Swagger API documentation.

My Role

Full Stack Developer responsible for frontend, backend API, database modeling, authentication, dashboard analytics, and deployment.

Technical Architecture

Next.js frontend communicates with a NestJS REST API using Prisma and PostgreSQL.

Result

Shows a deployed full-stack ERP workflow with clear invoice lifecycle, financial dashboard, and production-ready REST API documentation.

Status

Deployment under maintenance

Key Features

  • Login authentication
  • Customer management
  • Invoice creation with multiple items
  • Invoice status management: Draft, Sent, Paid, Cancelled, Overdue
  • Dashboard summary
  • Revenue trend chart
  • Invoice status chart
  • Top customers table
  • Recent invoices table
  • IDR currency format
  • Swagger API documentation

Engineering Challenges

  • Modeling invoices with multiple items
  • Presenting invoice status and financial summaries clearly

Technical Decisions

  • Next.js frontend communicates with a NestJS REST API using Prisma and PostgreSQL.

Tech Stack

  • Next.js
  • NestJS
  • Prisma
  • PostgreSQL
  • TailwindCSS
  • JWT
  • REST API
  • Swagger
  • Vercel