← All reportsPublic report

monicahq/monica

Personal CRM. Remember everything about your friends, family and business relationships.

25k stars PHP View on GitHubprofiled 11d ago
Try GitZoid
0PRs this week
0Contributors
0Deps scanned
0Issues found
01 · Repo overview

How monica is put together

Monica is an open-source Personal Relationship Management (PRM) web application built as a monolithic Laravel PHP backend serving an Inertia.js single-page frontend written in Vue 3 with Tailwind CSS. Data flows from browser-side Vue pages through Inertia/Ziggy-routed requests into Laravel controllers acting on an Eloquent domain model centered on Accounts, Vaults, Users, Contacts, Journals and related entities. The main branch is explicitly labeled as the development/beta line (stable work happens on the 4.x branch). The repo also ships a Sabre-based DAV layer, scheduled reminders/mail, background queues, search integration, and Docker/Sail packaging for self-hosting.

Languages

PHPJavaScriptVue (SFC)SCSS/CSS

Frameworks

LaravelInertia.js (@inertiajs/vue3)Vue 3Tailwind CSS v4ViteLaravel FortifyLaravel JetstreamSabre/DAV (laravelsabre)Laravel Scoutlaravel-vue-i18n

Infrastructure

Docker (scripts/docker/Dockerfile, docker-compose.yml)Laravel Sail (.env.example.sail, sail-init.sh)Fortrabbit deployment config (fortrabbit.yml)Dev Container (.devcontainer/)SonarCloud coverage reporting

Major components

Laravel application core

HTTP kernel/bootstrap (bootstrap/app.php), providers, exception handling (app/Exceptions/Handler.php), and configuration for all subsystems.

Domain models (app/Models)

Eloquent entities modeling accounts, vaults, users, contacts, journals, groups, life events, reminders, files, labels, pets, loans and more.

Vue 3 Inertia SPA (resources/js)

Client-side pages/components rendered via createInertiaApp with Ziggy routing, i18n, Sentry instrumentation, and SSR entry (ssr.js).

Authentication layer (app/Actions, config/{fortify,jetstream,webauthn}.php)

Fortify/Jetstream-based authentication including Socialite login attempts (AttemptToAuthenticateSocialite) and WebAuthn/passkey flows (AttemptToAuthenticateWebauthn, @simplewebauthn/browser).

DAV server (config/dav.php, config/laravelsabre.php, app/Models/AddressBookSubscription)

CardDAV/CalDAV address-book sync endpoints backed by Sabre for external clients.

Reminders and mail

Contact reminder scheduling logic (app/Helpers/ContactReminderHelper) plus Mailables such as UserInvited, UserNotificationChannelEmailCreated, and TestEmailSent.

Search and observability

Scout-driven search (config/scout.php, app/Helpers/ScoutHelper) alongside Sentry, Telescope, Pulse, Clockwork, Debugbar, and custom structured logging (app/Logging).

Developer tooling and CI hygiene

ESLint flat config, Prettier, Husky pre-commit with lint-staged, PHP Pint/PHPStan/Psalm gates, and Docker build/run scripts.

02 · Weekly changes

No digest this week

1 weeksWeek of

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

36 files reviewed; 0 of 1 claimed findings confirmed after verification.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required