Alladdin CRM is a modern full-stack CRM for small teams to manage sales + support operations in one panel:
- Company + Contact management
- Opportunity pipeline
- Quote + PDF export
- Task board (Kanban)
- Ticket + message flow
- Activity log + dashboard metrics
- Public URL: https://dxx92tlfac.sharedwithexpose.com
- Note: This is an Expose Free tunnel created on February 21, 2026 and may expire.
- Re-open tunnel command:
expose share aladdincrm.test --server=free- Auth: login/logout, email verification, role support (
admin,staff) - CRM Core: companies + contacts (search/filter/pagination/soft-delete)
- Sales: opportunities with stage tracking + pipeline summary
- Quotes: quote items, automatic totals, PDF export
- Tasks: Kanban with drag-drop order/status updates
- Support: tickets and threaded ticket messages
- Audit: activity log for key state changes
- Dashboard: due tasks, open tickets, pipeline total, recent activity
Full blueprint: docs/alladdin-crm-mvp.md
- Backend: Laravel 12, PHP 8.2+, Fortify auth, Wayfinder
- Frontend: Svelte 5 + Inertia.js 2 + Tailwind CSS 4
- Database: SQLite / MySQL / PostgreSQL
- PDF: quote export endpoint + Blade PDF template
- Tooling: Vite, ESLint, Prettier, Pest/PHPUnit, Pint
Screenshot refresh guide: docs/screenshot-refresh-guide.md
composer install
npm installcp .env.example .env
php artisan key:generateFor SQLite:
touch database/database.sqliteThen run migrations + seeders:
php artisan migrate:fresh --seedcomposer run devAlternative split terminal mode:
php artisan serve
php artisan queue:listen --tries=1 --timeout=0
npm run devAll seeded users use the same password: password
[email protected](Admin)[email protected](Staff)[email protected](Staff)[email protected](Staff)[email protected](Staff)
Seeder entrypoint: database/seeders/DatabaseSeeder.php
All API routes are under /api and protected by auth + verified + license middleware.
GET /api/dashboard/metricsGET /api/system/statusGET /api/opportunities/pipeline-summaryPOST /api/tasks/{task}/movePOST /api/tickets/{ticket}/messagesGET /api/quotes/{quote}/pdf- CRUD resources:
/api/companies/api/contacts/api/opportunities/api/quotes/api/tasks/api/tickets
Route source: routes/web.php
System status API docs: docs/system-status-api.md
app/
Actions/
Data/
Http/
Policies/
Services/
resources/
js/
components/
layouts/
pages/
database/
migrations/
seeders/
docs/
npm run check
npm run build
composer test- Semantic Versioning:
MAJOR.MINOR.PATCH - Set version via
.env:
APP_VERSION=1.0.0Release example:
git tag v1.0.0
git push origin v1.0.0GitHub Actions release workflow is available at:
/.github/workflows/release.yml
License/version check env options:
ALLADDIN_LICENSE_KEY=
LICENSE_CHECK_ENABLED=false
LICENSE_ENFORCE=false
LICENSE_VERIFY_URL=
LICENSE_CACHE_MINUTES=10
LICENSE_TIMEOUT_SECONDS=3
APP_VERSION_CHECK_URL=
APP_VERSION_CACHE_MINUTES=30
APP_VERSION_TIMEOUT_SECONDS=3Integrity snapshot/check:
php artisan app:integrity:snapshot
php artisan app:integrity:checkDetails: docs/open-source-model.md
- Use conventional commits (
feat:,fix:,refactor:,docs:,test:,chore:) - Keep controllers thin, business logic in service/action layer
- Add tests for behavior changes
- Read the full guide:
CONTRIBUTING.md - Open issue templates: Bug, Feature, Task, Docs
- Ready issue pool for maintainers:
docs/issue-backlog.md
Released under the MIT License. See LICENSE.
Render blueprint + Docker deployment steps are documented in:
docs/render-deploy.md