DeskMint

Deskmint dashboard showing clients
Deskmint invoice creation functionality
Deskmint various settings
Deskmint dashboard showing custom fields arrangement allowing users to manage searchables and sorting of fields

DeskMint is being developed to centralize client communication, manage invoices, and securely store documents in an encrypted vault, helping companies keep interactions and data organized and transparent.

Technologies/Tech Stack

In DevelopmentDependency InjectionVueLaravelMySQLTailwindCapacitorPWATypeScript

550+ commits so far across both repositories (And counting!)

My role

Sole developer of DeskMint, responsible for the full stack - designing and building the frontend with Vue.js, backend with Laravel, and implementing SPA and PWA functionality across all modules.

Notable functionalities/code (Currently Present in the Codebase)

  • Dynamic custom fields with user-defined data types - Users can create their own data models on the fly, not just store data but define the structure itself
  • Bank grade authentication system - Custom secure login with access/refresh tokens and unique device fingerprinting
  • Custom frontend DataTable component - Handles both static and dynamic data with 3rd-party plugin-level sophistication
  • Dependency injection & traits - Modular, reusable, and loosely coupled codebase
  • Granular field visibility controls - Users can show/hide any field (including custom fields) across multiple functionalities
  • Advanced data querying - Users can define which fields are searchable or non-searchable and configure sorting across multiple modules in the system, even for fully custom fields
  • Flexible invoicing system - Users define custom taxes and invoice fields that automatically reflect in invoice creation features
  • Custom Vue UI component library - Built from scratch including tabs, autocompletes, buttons, inputs, and more
  • Variable-based invoice numbering - Users can generate custom invoice number formats using dynamic variables
  • Universal field ordering - Users can reorder fields for invoices, companies, clients, and any other entity as needed

This is not a CRUD app but a complex application in active development with 550+ commits across frontend and backend repositories.

What this demonstrates

  • Full-stack proficiency - Backend and frontend expertise across the entire application stack
  • Mobile-ready development - SPA architecture with PWA capabilities for mobile deployment
  • Advanced Vue.js skills - Complex frontend work using both Composition API and Options API
  • Enterprise Laravel development - Sophisticated backend architecture for complex business logic
  • Critical thinking and solid architecture - Well-planned system design with scalability in mind
  • Security-conscious development - Implementation of authentication best practices and secure patterns
  • Database design expertise - Complex relational schema supporting dynamic data structures
  • Comprehensive testing - Unit, integration, and end-to-end testing with PHPUnit for enterprise-grade reliability

Key features

Completed

  • Clients module
  • Products module
  • Admins module
  • Custom fields for clients and invoices, fully manageable by the user with different data types
  • Invoice settings including company details (with custom fields), invoice configuration, email, and payment settings

Planned

  • Tasks module
  • Encrypted vault for secure document storage
  • Recurring invoices
  • Chat system
  • Email integrations

Why I wanted to build this?

Two primary motivations drove this project

  • To showcase a complex SaaS application as a portfolio piece demonstrating real-world development capabilities
  • To help people and companies worldwide manage their clients, communications, and documents more effectively