Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A complete freelancer management SaaS — clients, projects, invoices, proposals, contracts, time tracking, expenses, leads, analytics, automations.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Live demo · Get it on Gumroad A complete commercial-grade platform for freelancers and agencies to manage clients, projects, invoices, time tracking, proposals, and payments. Freelancer OS is a full-stack SaaS application built for freelancers and small agencies who need to manage their entire business in one place — from landing a client to getting paid. • Freelance developers, designers, writers, consultants, photographers • Solo or small agencies (1–10 people) • Independent contractors who bill hourly or per-project [README 설치·사용 부분 발췌] Getting Started查看完整 README ↗
A complete commercial-grade platform for freelancers and agencies to manage clients, projects, invoices, time tracking, proposals, and payments.
Freelancer OS is a full-stack SaaS application built for freelancers and small agencies who need to manage their entire business in one place — from landing a client to getting paid.
| Pain Point | How Freelancer OS Solves It |
|---|---|
| "Where did my time go?" | Built-in time tracker with timesheets |
| "Creating invoices is a pain" | One-click invoice from tracked time |
| "I have 12 clients and can't keep track" | Unified client + project dashboard |
| "Proposals take too long" | Reusable templates, fast proposal builder |
| "Am I actually profitable?" | Analytics + payments vs expenses tracking |
| "Getting paid is slow" | Payment tracking and status reminders |
| Module | What it does |
|---|---|
| Dashboard | KPI overview — revenue, active projects, pending invoices, upcoming deadlines |
| Clients | Contact management, notes, project history per client |
| Projects | Project boards with status, budget, deadlines |
| Tasks | Task list with assignments, due dates, priorities |
| Time Tracking | Start/stop timer, manual entries, timesheet export |
| Invoices | Auto-generate from time tracked, send, track paid/unpaid |
| Proposals | Build proposals, send, track viewed/accepted/rejected |
| Contracts | Contract templates, digital management |
| Payments | Log payments received, link to invoices |
| Leads | Prospect pipeline — new → contacted → qualified → won/lost |
| Expenses | Log business expenses, categorize, tax tracking |
| Files | Upload and organize client deliverables |
| Messages | Client communication thread inbox |
| Analytics | Revenue charts, project profitability, client breakdown |
| Calendar | Monthly view of task due dates and deadlines |
| Automations | Rule-based workflows (e.g., "when proposal accepted → create project") |
| Templates | Reusable proposal and contract templates |
| Settings | Profile, business info, billing preferences, security (2FA) |
| Layer | Technology |
|---|---|
| Framework | Next.js 14 (App Router) + React 18 |
| Language | TypeScript 5 |
| Styling | Tailwind CSS 3 |
| UI Components | Radix UI + custom components |
| Database | Prisma ORM |
| Database (dev) | SQLite |
| Database (prod) | PostgreSQL |
| Auth | NextAuth.js (credentials) |
| Icons | Lucide React |
| Notifications | Sonner (toasts) |
| Forms | React Hook Form + Zod |
# 1. Clone the repo
git clone <your-repo-url>
cd complete-commercial-saas-product
# 2. Install dependencies
npm install
# 3. Set up environment variables
cp .env.example .env
# Edit .env with your database URL and NextAuth secret
# 4. Initialize the database
npm run db:push
npm run db:seed # Seeds demo data
# 5. Start the dev server
npm run dev
Email: [email protected]
Password: demo123
npm run build # runs prisma generate, then next build
npm run start
Useful extras: npm run db:studio opens Prisma Studio to browse the database; npm run lint runs the Next.js linter.
src/
├── app/ # Next.js App Router pages
│ ├── (dashboard)/ # Authenticated dashboard routes
│ ├── api/ # API routes
│ ├── login/ # Login page
│ ├── register/ # Registration page
│ ├── privacy-policy/ # Privacy policy
│ └── terms-of-service/ # Terms of service
├── components/
│ ├── dashboard/ # Dashboard-specific (header, sidebar, command palette)
│ └── ui/ # Reusable UI components (button, input, card, etc.)
└── lib/
├── api.ts # API route helpers
├── auth.ts # NextAuth configuration
├── db.ts # Prisma client
├── validations.ts # Zod schemas
└── utils.ts # Utility functions (formatCurrency, formatDate, etc.)
prisma/
├── schema.prisma # Database schema
└── seed.ts # Demo data seeder
| Endpoint | Description |
|---|---|
GET/POST /api/clients | List or create clients |
GET/PUT/DELETE /api/clients/[id] | Manage single client |
GET/POST /api/projects | List or create projects |
GET/POST /api/tasks | List or create tasks |
GET/POST /api/time | Time entries |
GET/POST /api/invoices | Invoice management |
GET/POST /api/proposals | Proposal management |
GET/POST /api/payments | Payment records |
GET/POST /api/leads | Lead pipeline |
GET/POST /api/expenses | Expense tracking |
GET/POST /api/files | File uploads |
GET/POST /api/messages | Client messages |
GET/POST /api/analytics | Dashboard analytics |
GET/POST /api/activities | Activity feed |
GET /api/notifications | User notifications |
GET/PUT /api/users/me | Current user profile |
GET/PUT /api/business | Business settings |
DATABASE_URL= # SQLite: "file:./dev.db" or PostgreSQL URL
NEXTAUTH_SECRET= # Random string for auth encryption
NEXTAUTH_URL= # "http://localhost:3000"
Update these to match your business:
src/app/layout.tsx (SVG icon in metadata)src/app/globals.css (CSS custom properties)The component architecture makes it easy to extend:
src/components/ui/ → Add new base components here
src/app/(dashboard)/ → Add new pages here
prisma/schema.prisma → Add new database models
Proprietary — All rights reserved.
Built with Next.js, TypeScript, and Prisma.
Built by Mouad Sehli, freelance front-end developer (React, TypeScript, Tailwind). More work and contact details are on the portfolio.