AutoPartsDB - Enterprise Inventory System

Enterprise inventory management system that transformed a monolithic Excel file with 900+ columns into a relational database. Features relationship visualization for parts-suppliers-clients, work table sync functionality, and multi-language support.

Duration: Dec 2024 - Aug 2025
Team: Solo project
Role: Full Stack Developer

Project Overview

AutoPartsDB is an enterprise inventory management system that solved a critical data management problem for an automotive parts business. The client was managing their entire operation through a massive Excel file with over 900 columns - 15 base columns for parts and clients, plus 10-15 columns for each of their ~70 suppliers. This monolithic approach resulted in painfully large file sizes, slow searches, and no way to visualize relationships between parts, suppliers, and clients.

I redesigned this into a proper relational database architecture using PostgreSQL, creating normalized tables with proper relationships and junction tables. The web application features relationship visualizations that allow users to easily view clients+parts, suppliers+parts, and part types when needed. Built with Next.js 15 and AG-Grid Enterprise, the system handles large datasets efficiently with virtual scrolling and custom cell renderers.

The work tables feature an Excel-like sync workflow where users can save their progress or load work from other team members. This sync up/down functionality allows users to work on order data locally and explicitly sync changes to the database or pull fresh data, maintaining the familiar Excel workflow while leveraging the power of a relational database.

Key Features

  • Relational database design replacing 900+ column Excel file
  • Relationship visualization for parts-suppliers-clients connections
  • Work table sync up/down for collaborative order management
  • Virtual scrolling for efficient handling of large datasets
  • Advanced Excel import/export with custom styling
  • Serial number calculator for shipment tracking (auto-calculates with package quantity and row locking)
  • Export Excel worksheets for physical package label tracking
  • Export orders with company and bank information for invoicing
  • Cost-effective automated daily backups with one-click restore
  • Complex filtering and aggregation capabilities
  • Row-level security with role-based access control

Project Gallery

https://autopartsdb-demo.vercel.app
https://autopartsdb-demo.vercel.app
https://autopartsdb-demo.vercel.app
https://autopartsdb-demo.vercel.app

Technical Challenges & Solutions

Challenge 1

Transforming monolithic Excel file with 900+ columns into relational database

Solution

Analyzed the existing Excel structure and identified the core entities: parts, suppliers, clients, and part types. Designed a normalized PostgreSQL schema with proper relationships and junction tables to replace the repetitive supplier columns. Created migration scripts to extract and transform the Excel data into the new relational structure, preserving all historical data while eliminating redundancy.

Challenge 2

Handling messy, inconsistent data from years of manual Excel entry

Solution

The legacy Excel file had significant data quality issues - suppliers typed inconsistently (some with slashes, some without), duplicate column names for different data, and text values in numeric fields like price and weight. Initially made parsing errors that skipped malformed supplier entries. Built robust data cleaning and validation pipeline that identified these inconsistencies, created mapping rules, and migrated the data correctly. The new SQL schema with strict type checking and enum-based status fields (TBA/STOP/Disc) now prevents these errors entirely - no more searching for text in price fields to identify part status. While hard to measure, these data entry errors are now completely eliminated from the client's daily operations.

Challenge 3

Building dynamic work tables with contextual data access for order entry

Solution

Implemented user-created work tables using AG-Grid Enterprise where users can build custom order sheets and save/load them via sync up/down functionality. The key improvement over Excel isn't just scrolling performance (which is close to AG-Grid's official demo, since their demo doesn't feature the rich cell renderers we use) - it's the custom cell renderers that provide instant contextual data. Clicking a part cell dynamically pulls up all suppliers' pricing, archive data, or client information without manual searching. While Excel might be faster for pure scrolling, the work table UI dramatically speeds up the actual workflow by eliminating repetitive lookups across multiple sheets or files.

Challenge 4

Implementing cost-effective backup solution for critical business data

Solution

Supabase's standard backup solution costs $20/month, which was unnecessary for the client's needs. Instead, built a custom backup system using a $4/month Digital Ocean droplet that connects to the database, performs automated daily dumps, and uploads them to Supabase storage. Added a simple UI for one-click manual backups and restores from any saved dump. This protects against accidental deletion of critical parts, clients, or supplier data while saving the client significant recurring costs - a practical solution that delivers the same safety at 80% cost reduction.

Results & Impact

Eliminated painfully large Excel files and slow performance

Enabled relationship visualization previously impossible in flat Excel

Greatly optimized day-to-day operations with parts and orders

Technologies Used

Next.js 15
TypeScript
PostgreSQL
Supabase
AG-Grid Enterprise
Material-UI
Digital Ocean

Project Links

Interested in this project?

Let's discuss how I can help with your similar requirements.

Get in Touch

Similar Projects