Opentrons Labworks Inc
Software for writing protocols and running them on the Opentrons Flex and Opentrons OT-2
JiviDent is a free clinic and dental practice management system in Indonesia for patient registration, queues, medical records, billing, pharmacy, payroll, appointments, inpatient care, reports, and p
HealthBlade · CSSGitHub @jivimuzOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Free Indonesian Dental Care Apps (Integrated BPJS and Satu Sehat)
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A web-based clinic management application (Laravel 12), covering patient registration, medical records, billing, pharmacy/POS, payroll, doctor booking, up to basic hospital-style services (ER/Lab/Radiology/Inpatient care) and a self-service patient portal.
🔓 Free, No License — Self-Hosted Mode
This application has a license/serial validation mechanism against a remote server by default. To use it for free, with no license validation at all, set the following in your
.envfile:TYPE_LOCAL_SERVER=2With this value, the license gate (
AuthApiMiddleware) is bypassed entirely — no serial check, no connection to any license server. Suitable for self-use, further development, or self-hosted deployment with no license cost. See the License & Access Mode section below for details.
Patient Registration & Queue
/monitor-antrian).Examination & Medical Records
Billing, Finance & Pharmacy
HR & Payroll
Advanced Services (hospital-style)
Multi-Branch & Patient Portal
Klien) — users only see their own branch's data.Access Control & Audit
The feature list above reflects the current state of the code. For deeper architectural/technical conventions, see
CLAUDE.md.
<script>/<link> tags, no build step (Vite/Tailwind were removed from the original skeleton).<body> via fetch) without rewriting the frontend into a JS framework.barryvdh/laravel-dompdf for every printout (letters, invoices, etc.), via the viewOrPdf() helper.concurrently, the process runner for composer dev — not for a frontend build).pdo_sqlite or pdo_mysql, mbstring, openssl, etc).# 1. Clone the repo and enter it
git clone <this-repo-url> jivident
cd jivident
# 2. Install PHP dependencies
composer install
# 3. First-time setup — creates .env, generates APP_KEY, then migrates
composer setup
composer setup automatically:
.env.example to .env (if it doesn't exist yet).APP_KEY.php artisan migrate --force.After that, set TYPE_LOCAL_SERVER=2 in .env as mentioned at the top, so you don't hit the license gate.
If you want sample data (Indonesian regional data for address autocomplete, ICD-9/10, product categories, etc.) seeded too:
php artisan migrate:fresh --seed
composer dev
This runs three processes at once (via concurrently): php artisan serve, php artisan queue:listen, and php artisan pail (log tailing) — so a single terminal is enough for day-to-day development.
The app is reachable at http://localhost:8000 (or whatever APP_URL/port php artisan serve ends up using).
The initial migration (2024_07_17_005400_create_users_table.php) already creates a few sample users:
| Username | Password | Note |
|---|---|---|
superadmin | 12341234 | Full access |
user1 | 12341234 | Extra sample user |
user2 | 12341234 | Extra sample user |
Change these passwords immediately if the app is used anywhere outside a local development environment.
This application has a global middleware (App\Http\Middleware\AuthApiMiddleware) that runs on almost every request, checking a serial row in the database and — when it needs re-validating — making a request to the license server at AUTH_SERVER (env). Without a valid serial, the user is redirected to the license page.
There are two ways to run this application:
serial_code, periodically re-validated against AUTH_SERVER. Used when the app is deployed as a licensed product for other parties.TYPE_LOCAL_SERVER=2
in .env. The license gate is bypassed entirely — no serial check, no connection to any server. This is the recommended mode if you're running this app for yourself / your own organization, rather than as a product sold to other clinics.Testing note:
phpunit.xmlpinsTYPE_LOCAL_SERVER=0, so the test suite doesn't silently inherit a developer's local.envvalue — your own.envsetting doesn't affectcomposer testresults.
# Run the full test suite
composer test
# Run a specific test file/method
php artisan test tests/Unit/ProductQtyHelperTest.php
php artisan test --filter=test_method_name
# Check/format code style (Laravel Pint)
vendor/bin/pint --test # check only, no write
vendor/bin/pint # auto-format
app/Http/Controllers/Website/ — all business logic controllers, one namespace for every feature.app/Helpers/ — core logic shared across controllers (product stock/FEFO, transaction ledger, POS, payroll, doctor booking, manual database backup).routes/web.php — every route is defined here (no api.php), grouped per module with the checkAccess:<MODULE_CODE> middleware.resources/views/pages/ — one folder per module/menu, following the index (empty DataTable) + getList (server-side DataTables) endpoint pattern.For a deeper architectural explanation (conventions, design decisions, known gaps), read CLAUDE.md at the project root — that document is written to help anyone (human or AI assistant) understand this codebase quickly.