Documentation
Getting Started
Set up your own Freelance CRM instance in under 5 minutes. Everything you need to track leads, projects, invoices, and revenue.
Prerequisites
- *Node.js 18+ — the runtime
- *PostgreSQL — a database (or use Prisma Postgres)
- *npm or pnpm — package manager
1. Clone & Install
Clone the repository and install dependencies.
terminal
# Clone the template
git clone https://github.com/alevizio/freelance-app.git
cd freelance-app
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env.local2. Configure Environment
Edit .env.local with your database URL and auth secret.
.env.local
# .env.local
DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=YOUR_KEY"
AUTH_SECRET="your-auth-secret"
AUTH_URL="http://localhost:3000"3. Set Up Database
Generate the Prisma client, run migrations, and optionally seed demo data.
terminal
# Generate Prisma client
npx prisma generate
# Run migrations
npx prisma migrate dev
# Seed demo data
npx tsx prisma/seed.ts4. Launch
Start the development server.
terminal
# Start the dev server
npm run dev
# Open http://localhost:3000
# Sign in with: you@example.comWhat's included
Lead Funnel
6-column Kanban board from New to Paid/Rejected
Proposals
Multi-option pricing tiers with client approval flow
Dashboard
Revenue analytics, Sankey charts, and KPI cards
Invoicing
Full lifecycle: Draft, Sent, Paid, Overdue
Time Tracking
Per-project hours and uninvoiced time alerts
Notifications
Overdue invoices, budget warnings, and activity feed
Next steps
- Browse themes — Switch between Paper, Minimal, and Winamp themes
- Star on GitHub — Help others discover the project
- Try the demo — Sign in with the demo account to explore