The Hub is a modular internal business platform built with the T3 stack. It centralizes day-to-day operations — client management, scheduling, documents, admin — into a single coherent environment.
Originally developed as a proprietary internal tool, it is now released under a source-available license. Free to use, fork, and contribute to. Commercial use requires attribution only.
Note: This project is under active development. Some features may be incomplete or contain bugs. Contributions and bug reports are welcome.
- Authentication & role-based access (Admin / User)
- Dashboard
- Customer management (CRM-like)
- Admin panel (user management, system settings, audit logs)
- Notification system
- Custom theming (light / dark)
- Agenda
- To-Do / Tasks
- Expense reports
- Product catalog
- Supplies management
- File management
- Mileage allowances
- Inventory
- Text editor (Tiptap — Docs-like)
- Spreadsheet editor (Handsontable CE — Sheets-like)
- Slide editor
- Videoconferencing (Jitsi)
- Real-time communication
- Advanced email management
| Layer | Tech |
|---|---|
| Framework | Next.js 15 (App Router) |
| Language | TypeScript 5.8 |
| API | tRPC 11 |
| ORM | Prisma 6 + PostgreSQL |
| Auth | BetterAuth |
| UI | TailwindCSS 4 + DaisyUI 5 |
| Storage | MinIO |
| Rate Limiting | Bottleneck |
- Node.js 20+
- pnpm
- Docker Desktop (must be installed and running before starting the database)
- MinIO (optional, for file storage)
git clone https://github.com/initd-fr/the-hub.git
cd the-hub
pnpm install
cp .env.example .env
# Edit .env with your database URL and auth secretsA helper script is included to start a local PostgreSQL container via Docker. Docker Desktop must be open and running.
macOS / Linux:
./start-database.shWindows (PowerShell):
.\start-database.ps1The script reads your DATABASE_URL from .env, creates a PostgreSQL container if it does not already exist, or starts an existing one. If you are using the default password (password), it will offer to generate a secure one automatically.
pnpm prisma migrate deploy
pnpm prisma generate
pnpm devDATABASE_URL=postgresql://user:password@localhost:5432/thehub
BETTER_AUTH_SECRET=your_secret
NEXT_PUBLIC_APP_URL=http://localhost:3000Contributions are welcome — bug fixes, features from the roadmap, UI improvements.
- Fork the repository
- Create a branch:
git checkout -b feature/your-feature - Commit using git-z (see below)
- Open a Pull Request
All contributions must follow the git-z commit convention. PRs with non-compliant commit messages will not be accepted.
# macOS / Linux (Homebrew)
brew install ejpcmac/repo/git-z
# Rust / Cargo
cargo install git-zInstead of git commit, run:
git add .
git z commitgit-z will guide you interactively: choose a type, a scope, write a description. That's it.
TYPE description (scope)
| Type | Usage |
|---|---|
ADD |
New feature or file |
FIX |
Bug fix |
UPDATE |
Improvement or modification |
DELETE |
Remove file or code |
CONFIG |
Configuration / dependencies / setup |
DOCS |
Documentation only |
REFACTOR |
Refactor without behaviour change |
STYLE |
Formatting, CSS, typo, cleanup |
WIP |
Work in progress |
Scopes: ui, api, auth, security, storage, external-api, data-schema, config
A ticket number is optional. If referencing an issue: FIX login redirect (auth) — Closes #12
Please keep contributions scoped. V3 features (real-time, editors) should not be introduced in V2.
Source-available — free for personal, internal, and commercial use with attribution.
See LICENSE for full terms.
Quentin Van Steenwinkel
github.com/initd-fr · LinkedIn