DASHBOARD
theunpartydashboard
Location: unparty-app/theunpartydashboard
Status: Active Development
Primary Purpose: Business management dashboard for UNPARTY FOUNDERS CIRCLE community
Overview
The Unparty Dashboard is a full-stack web application that provides invoice management, customer tracking, and business analytics for the UNPARTY FOUNDERS CIRCLE community. It serves as a space to start somewhere, a playground for ideas, and accountability for commitments.
Tech Stack
- Framework: Next.js 14.2.3 (App Router)
- Language: TypeScript 5.2.2
- Database: Vercel Postgres
- Authentication: NextAuth.js 5.0.0-beta.17
- Runtime: Node.js ≥18.17.0
- Styling: Tailwind CSS 3.3.3
- Forms: Zod 3.22.2 validation
- Icons: Heroicons 2.0.18
- Security: bcrypt 5.1.1 for password hashing
- Deployment: Vercel
- Build Tool: Next.js compiler
Key Features
Dashboard Analytics
- Real-time Metrics: Visual charts showing daily entries and revenue trends
- Summary Cards: Quick overview of invoices (collected, pending, total)
- Customer Insights: Track total customers and growth
- Recent Activity: Latest invoice and customer interactions
Invoice Management
- Full CRUD Operations: Create, read, update, and delete invoices
- Status Tracking: Monitor payment status (paid, pending)
- Customer Linking: Associate invoices with customer records
- Search & Filter: Advanced search with pagination
- Bulk Operations: Manage multiple invoices efficiently
Customer Management
- Customer Database: Comprehensive customer information storage
- Profile Management: Customer details with profile images
- Invoice History: View all transactions per customer
- Aggregate Metrics: Total invoices, pending, and paid amounts per customer
Authentication & Security
- Secure Login: Email/password authentication via NextAuth.js
- Protected Routes: Middleware-based route protection
- Session Management: Persistent user sessions
- Password Security: bcrypt hashing for password storage
- Credential Validation: Zod schema validation for inputs
User Interface
- Responsive Design: Mobile-first Tailwind CSS implementation
- Dark/Light Themes: Professional styling with custom fonts
- Accessible Components: WCAG-compliant UI elements
- Loading States: Skeleton loaders and suspense boundaries
- Error Handling: User-friendly error messages
Architecture
Code
Web Dashboard (Next.js 14)
├── Public Routes
│ ├── Homepage (Marketing)
│ └── Login (Authentication)
├── Protected Routes (Dashboard)
│ ├── Overview (Analytics)
│ ├── Invoices (CRUD)
│ └── Customers (Management)
├── API Layer
│ ├── Server Actions (app/lib/actions.ts)
│ └── Data Fetching (app/lib/data.ts)
├── Database (Vercel Postgres)
│ ├── users (Authentication)
│ ├── customers (Customer data)
│ ├── invoices (Transaction data)
│ └── revenue (Analytics data)
└── Middleware (Auth protection)Application Flow
Data Model
Users Table
id: UUID (primary key)name: VARCHARemail: VARCHAR (unique)password: VARCHAR (bcrypt hashed)
Customers Table
id: UUID (primary key)name: VARCHARemail: VARCHARimage_url: VARCHAR
Invoices Table
id: UUID (primary key)customer_id: UUID (foreign key → customers)amount: INTEGER (cents)status: ENUM ('pending', 'paid')date: DATE
Revenue Table
month: VARCHAR (primary key)revenue: INTEGER
Integration Points
- Vercel Postgres: Database hosting and management
- NextAuth.js: Authentication provider and session management
- Vercel: Platform deployment with automatic optimization
- Google Fonts: Typography (Inter, Lusitana, Source Code Pro)
- Heroicons: UI iconography
- Tailwind CSS: Utility-first styling framework
Business Value
ABOUT: Understanding Business Performance
The dashboard provides real-time visibility into business metrics:
- Track invoice collection rates and pending payments
- Monitor customer growth and engagement
- Analyze revenue trends over time
- Identify bottlenecks in payment collection
Creator Privacy: All financial data is isolated per user account with secure authentication.
BUILD: Creating & Managing Operations
Enables efficient business operations:
- Create and manage invoices with validation
- Maintain customer relationships and history
- Track payment status and follow up on pending invoices
- Seed demo data for testing and development
Creator Ownership: Users own their invoice and customer data with full CRUD control.
CONNECT: Stakeholder Communication
Facilitates transparent reporting:
- Visual dashboards for board meetings and reviews
- Historical data for trend analysis
- Export-ready invoice and customer reports
- Demo credentials for stakeholder access
Cost Sensitivity: Free tier Vercel Postgres support, optimized queries, and efficient caching.
Relationship to Ecosystem
Part of UNPARTY FOUNDERS CIRCLE
The dashboard serves the founders' community by providing:
- Accountability Tools: Track commitments and progress
- Financial Transparency: Clear view of business metrics
- Community Support: Shared tooling for founder success
Integration with Other UNPARTY Repositories
- theunpartyapp: Shares FOUNDERS CIRCLE branding and design system
- theunpartyrunway: Could be tracked for development velocity metrics
- theunpartycrawler: Could analyze usage patterns and feature adoption
Ecosystem Position
- User-Facing: ✅ Primary (Founders and business users)
- Developer-Facing: ❌ No
- Platform: Web
- Primary Function: Business Management & Analytics
Getting Started
Prerequisites
- Node.js ≥18.17.0
- npm or yarn package manager
- Vercel Postgres database (or compatible PostgreSQL)
Installation
bash
# Clone the repository
git clone https://github.com/unparty-app/theunpartydashboard.git
# Navigate to project directory
cd theunpartydashboard
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Add your database connection string and NextAuth secretEnvironment Variables
Create a .env.local file with:
env
# Database
POSTGRES_URL=your_postgres_connection_string
POSTGRES_PRISMA_URL=your_prisma_connection_string
POSTGRES_URL_NON_POOLING=your_non_pooling_string
# NextAuth
AUTH_SECRET=your_nextauth_secret
AUTH_URL=http://localhost:3000Database Setup
bash
# Seed the database with demo data
npm run seedDevelopment
bash
# Start development server
npm run dev
# Open browser to http://localhost:3000Demo Credentials
For testing purposes:
- Email: user@nextmail.com
- Password: 123456
Project Structure
Code
theunpartydashboard/
├── app/ # Next.js App Router
│ ├── dashboard/ # Protected dashboard routes
│ │ ├── (overview)/ # Dashboard home with analytics
│ │ ├── invoices/ # Invoice management (list, create, edit)
│ │ └── customers/ # Customer management (list, view)
│ ├── login/ # Authentication pages
│ ├── lib/ # Core utilities
│ │ ├── actions.ts # Server Actions (mutations)
│ │ ├── data.ts # Data fetching functions
│ │ ├── definitions.ts # TypeScript type definitions
│ │ ├── utils.ts # Helper functions
│ │ └── placeholder-data.js # Demo data for seeding
│ ├── ui/ # Reusable UI components
│ ├── layout.tsx # Root layout with fonts
│ └── page.tsx # Homepage
├── public/ # Static assets (images, favicon)
├── scripts/ # Database seeding scripts
├── auth.ts # NextAuth configuration
├── auth.config.ts # Auth configuration
├── middleware.ts # Route protection middleware
└── [config files] # Next.js, TypeScript, Tailwind, ESLintAvailable Scripts
bash
# Development
npm run dev # Start development server on http://localhost:3000
# Production
npm run build # Build optimized production bundle
npm run start # Start production server
# Code Quality
npm run lint # Run ESLint for code quality
npm run prettier # Format code with Prettier
npm run prettier:check # Check code formatting
# Database
npm run seed # Populate database with demo dataDeployment
Vercel Deployment (Recommended)
- Connect Repository: Link GitHub repo to Vercel
- Configure Environment: Add environment variables in Vercel dashboard
- Deploy: Automatic deployment on git push
bash
# Or deploy via Vercel CLI
npm i -g vercel
vercelManual Deployment
bash
# Build production bundle
npm run build
# Start production server
npm run startProduction Requirements:
- Node.js ≥18.17.0
- PostgreSQL database (Vercel Postgres or compatible)
- Environment variables configured
- HTTPS for secure authentication
Project Health
⚠️ Known Issues
Security Vulnerabilities: 14 total (as of last audit)
- Critical: 1 (Next.js cache poisoning)
- High: 4 (braces, cross-spawn, ws)
- Moderate: 5 (Babel, micromatch, nanoid, tar)
- Low: 4 (cookie, brace-expansion)
Action Items:
- Run
npm audit fixfor non-breaking fixes - Update Next.js to latest stable version
- Review and update vulnerable dependencies
Limitations:
- Requires internet access for Google Fonts during build
- Vercel Postgres required for full functionality
- Demo credentials are publicly known (change in production)
Development Guidelines
Code Style
- TypeScript: Strict mode enabled
- ESLint: Next.js recommended config
- Prettier: Tailwind CSS plugin for class sorting
- Formatting: Run
npm run prettierbefore commits
Testing Strategy
- Manual Testing: Use demo credentials to test all features
- Database: Use
npm run seedto reset test data - Browser Testing: Chrome, Firefox, Safari, mobile viewports
Common Tasks
Add a new page:
- Create route in
app/dashboard/[name]/page.tsx - Add navigation link in
app/ui/dashboard/nav-links.tsx - Update middleware if authentication required
Modify database schema:
- Update type definitions in
app/lib/definitions.ts - Modify SQL queries in
app/lib/data.tsandapp/lib/actions.ts - Update seed data in
app/lib/placeholder-data.js - Run
npm run seedto recreate database
Add a new UI component:
- Create component in
app/ui/[name].tsx - Follow existing patterns (use
clsxfor conditional classes) - Export from component file
- Import and use in pages
Screenshots
Homepage
<img width="1280" height="720" alt="UNPARTY Dashboard Homepage" src="https://github.com/user-attachments/assets/668cfd07-4171-4ba3-a3ce-e0e251685b42" />The landing page showcases the FOUNDERS CIRCLE x UNPARTY.APP branding with a clean, professional design and clear call-to-action.
Login Page
<img width="1280" height="720" alt="UNPARTY Dashboard Login" src="https://github.com/user-attachments/assets/ebc18c3f-a05f-443d-8d19-97f8be1ae798" />Secure authentication interface with email/password login functionality.
Contributing
This project is part of the UNPARTY FOUNDERS CIRCLE initiative. For contribution guidelines and community standards, visit unparty.app/founders.
Development Workflow
- Create feature branch from
main - Make changes and test locally
- Run
npm run lintandnpm run prettier - Submit pull request with clear description
- Wait for review and CI checks
Related Documentation
- UNPARTY Ecosystem: See main ecosystem documentation for context
- Next.js Documentation: https://nextjs.org/docs
- NextAuth.js Guide: https://next-auth.js.org
- Vercel Postgres: https://vercel.com/docs/storage/vercel-postgres
- Tailwind CSS: https://tailwindcss.com/docs
Maintenance
Last Updated: 2025-10-29
Maintained By: UNPARTY FOUNDERS CIRCLE Team
Review Frequency: Continuous with active development
Status: 🚀 Active Development
Focus: Providing founders with accountability tools and business management capabilities while protecting creator ownership, privacy, and cost-sensitivity.
Created for FOUNDERS CIRCLE x UNPARTY.APP - A space to start somewhere, a playground for ideas, a commitment to accountability.