ClientOps Hub is a small internal workspace for managing clients, leads, and invoices with an auditable change history. It’s designed for teams that want a clear operational view without adopting a full enterprise CRM.
- Authentication
- JWT-based login
- Role-based access (
admin,staff)
- Clients
- Create, update, search
- Archive / restore (soft delete)
- Leads
- Pipeline status tracking (
new,contacted,qualified,lost) - Archive / restore (soft delete)
- Pipeline status tracking (
- Invoices
- Linked to clients
- Lifecycle status (
draft,sent,paid) - Archive / restore (soft delete)
- Audit log
- Records write actions:
create,update,archive,restore,status_change - Admin-only endpoint and UI
- Records write actions:
- Pagination
- Server-side paging with response headers for totals and page metadata
Backend
- FastAPI
- SQLAlchemy
- Pydantic
- SQLite (local persistence)
Frontend
- Vue 3
- TypeScript
- Pinia
- Vue Router
- Axios
The repository is split into two independent applications:
backend/— REST API, persistence, authentication/authorization, auditingfrontend/— SPA UI, session management, routing, API client
All screenshots are taken from a live local run.
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r backend\requirements.txt
cd backend
uvicorn app.main:app --reload --port 8000cd frontend
npm install
npm run dev- Admin —
admin / admin123 - Staff —
staff / staff123










