BernuviaBernuvia
Kategori: SaaSWeb

Vetria — SaaS multi-klinik untuk veterinaria (Next.js 15 + NestJS 11)

1/15
#veterinaria#multi-tenant#manajemen klinik#agenda janji#catatan klinis

Perangkat lunak veterinaria dengan kode sumber: agenda, catatan, resep PDF, pembayaran, kas, inventaris, perawatan rumah sakit, dan portal tutor. Multi-klinik dengan RLS. Antarmuka hanya dalam bahasa Spanyol.

29 USDC35 USDC−17%

Pembayaran terlindungi

Uangmu ditahan dalam kustodi selama 1 hari

Pengiriman instan

Unduh kode lengkap setelah membayar

Pembelian dijamin

Ada masalah? Buat laporan

Apa yang termasuk
  • Kode sumber lengkap: web Next.js, API NestJS, worker BullMQ, skema Drizzle, migrasi dan seed dengan 2 klinik demo
  • Docker Compose untuk pengembangan, Dockerfiles, alur kerja GitHub Actions dan panduan penyebaran (VPS, Fly.io, Cloud Run)
  • 45 pengujian E2E dengan Playwright dan pengujian unit dengan Vitest
  • README dan 5 panduan dalam bahasa Spanyol; THIRD_PARTY_NOTICES.md dan CHANGELOG. Tanpa node_modules (diinstal dengan pnpm)
Teknologi
NENext.jsNENestJSPOPostgreSQLTYTypeScriptDODocker
Deskripsi

Vetria adalah perangkat lunak manajemen untuk klinik hewan, siap untuk beroperasi sebagai SaaS: banyak klinik dalam satu instalasi, masing-masing terisolasi dalam basis data dengan Row-Level Security dari PostgreSQL. Ini bukan kit UI: agenda, rekam medis, resep, pembayaran, kas, inventaris, rawat inap, portal pengasuh, dan laporan berfungsi dari awal hingga akhir, dengan API REST yang terdokumentasi, data demo, dan pengujian otomatis.

Bahasa: antarmuka 100 % dalam bahasa Spanyol (Meksiko)

Antarmuka, email, PDF, dan pesan validasi hanya dalam bahasa Spanyol, dengan format Meksiko (es-MX, mata uang default MXN, PPN 16 %, CFDI). Tidak termasuk sistem internasionalisasi (i18n) atau terjemahan. Identifikasi kode dalam bahasa Inggris; komentar dan dokumentasi dalam bahasa Spanyol. Jika Anda membaca pengumuman ini yang diterjemahkan, produk tersebut tidak diterjemahkan.

Untuk siapa ini

  • Agensi dan freelancer yang menjual perangkat lunak kepada klinik hewan di Meksiko dan Amerika Latin.
  • Pengusaha yang ingin meluncurkan SaaS hewan peliharaan mereka sendiri dengan model berlangganan.
  • Tim yang mencari basis multi-tenant dalam TypeScript untuk kesehatan atau layanan.

Fungsionalitas

Agenda

  • Daftar janji dan kalender dengan drag and drop; deteksi bentrokan oleh dokter hewan.
  • Jadwal yang tersedia oleh dokter hewan sesuai dengan jam kerja dan zona waktu klinik.
  • Janji berulang (setiap minggu, setiap 2 minggu, atau setiap bulan, dari 2 hingga 12): dibuat sebagai janji individu dan seri dihentikan pada bentrokan pertama.
  • Daftar tunggu dengan saran ketika slot dibuka dan konfirmasi kehadiran melalui tautan.

Rekam medis

  • Pasiens dengan foto dan beberapa pasien per pengasuh; pengarsipan logis yang mempertahankan riwayat dan pembayaran.
  • Catatan medis dalam Markdown dengan riwayat versi.
  • Tanda vital dengan grafik berat dan lampiran (gambar dengan thumbnail WebP).
  • Vaksin dan pengobatan: penguat yang akan datang, tanggal kedaluwarsa, dan kartu dalam PDF.

Resep dan dokumen

  • Resep dalam PDF dengan tanda tangan digital dan nomor profesional dokter hewan.
  • Struk, kartu, laporan kas, dan lembar rawat inap dalam PDF.

Pembayaran dan kas

  • Pembayaran total atau parsial per janji, dengan nomor urut per klinik.
  • Kas dengan pembukaan, penutupan, dan rekonsiliasi (yang diharapkan vs. yang dihitung).
  • Faktur CFDI simulasi: XML dan PDF percobaan tanpa validitas pajak, dengan antarmuka siap untuk menghubungkan PAC nyata.

Inventaris

  • Katalog layanan dan produk, stok dengan minimum dan kardex pergerakan.
  • Diskon otomatis dari stok saat menyelesaikan atau membayar janji, dengan pengembalian jika dibatalkan.

Rawat inap

  • Kandang dan area, rawat inap, catatan tindak lanjut per shift (pagi, sore, malam) dan keluar.

Portal pengasuh

  • Akses tanpa kata sandi melalui tautan ajaib: janji, kartu, resep, struk, dan permintaan janji.
  • Kotak masuk permintaan untuk diterima atau ditolak oleh staf.

Pengingat

  • Pengingat otomatis untuk janji melalui email, SMS, atau WhatsApp (Twilio), dengan tautan untuk mengonfirmasi atau membatalkan.
  • Pemberitahuan harian melalui email tentang penguat vaksin dan pengobatan yang akan kedaluwarsa.
  • Log setiap pengiriman dengan statusnya.

Laporan dan ekspor

  • Dasbor dan laporan dengan grafik berdasarkan tanggal, dokter hewan, dan metode pembayaran.
  • Ekspor ke CSV dan Excel (.xlsx); log audit yang dapat diperiksa dan diekspor.

Multi-klinik dan cabang

  • Pendaftaran klinik, undangan tim, dan peran: pemilik, administrator, dokter hewan, dan resepsionis.
  • Cabang dengan zona waktu sendiri; langganan berdasarkan paket dengan batasan (Stripe atau mode simulasi).
  • Pencarian global dengan ⌘K / Ctrl+K, PWA yang dapat diinstal, dan desain gelap secara default.

Keamanan

  • RLS di PostgreSQL: API menggunakan peran tanpa bypass, sehingga kueri tidak dapat keluar dari kliniknya.
  • JWT dengan token refresh yang berputar dalam cookie httpOnly, Argon2, verifikasi email, dan pemulihan kata sandi.
  • Pembatasan laju berdasarkan IP dan klinik, CSP dan header keamanan, log dengan requestId, Sentry opsional.

Stack teknis

CapaTeknologiMonorepo npm workspaces + Turborepo, TypeScript ketatWeb Next.js 15 (App Router), React 19, Tailwind CSS v4, Radix UI, FullCalendar, RechartsAPINestJS 11 di atas Fastify, Zod, OpenAPI/Swagger (lebih dari 180 operasi)Data PostgreSQL 16, Drizzle ORM, migrasi versi, RLSJobs Redis 7 + BullMQ (email, pengingat, cadangan), pekerja yang dapat dipisahkanFile Penyimpanan S3 yang kompatibel (MinIO di lokal)Kualitas Vitest, Playwright, ESLint, GitHub Actions

Apa yang termasuk

  • Kode sumber lengkap: web, API, pekerja, skema basis data, migrasi, dan seed dengan 2 klinik demo.
  • Docker Compose untuk pengembangan, Dockerfiles multi-stage, dan alur kerja CI dan rilis (gambar ke GHCR).
  • 45 pengujian E2E dengan Playwright dan pengujian unit dengan Vitest.
  • README dan panduan dalam bahasa Spanyol: memulai, penyebaran, keamanan, cadangan, dan perubahan merek.
  • THIRD_PARTY_NOTICES.md dan CHANGELOG. Ketergantungan npm diinstal dengan pnpm (tidak termasuk dalam ZIP).

Persyaratan

  • Node.js 22 LTS (direkomendasikan; minimum 20) dan pnpm 10.
  • Docker dengan Docker Compose v2 (Docker Desktop, OrbStack, Colima, atau Docker Engine).

Instalasi

Setelah pnpm install dan menyalin .env.example ke .env:

  • pnpm infra:up: Postgres, Redis, Mailpit, dan MinIO di Docker.
  • pnpm db:migrate: skema, peran API, dan kebijakan RLS.
  • pnpm db:seed: data demonstrasi.
  • pnpm dev: web di localhost:3000 dan API di localhost:4000.

Penyebaran

Panduan langkah demi langkah untuk VPS dengan Docker Compose dan Caddy (HTTPS otomatis), Fly.io, dan Google Cloud Run. Gambar API membawa perintah api, worker, dan migrate; termasuk runbook untuk cadangan Postgres ke S3.

Apa yang disimulasikan atau memerlukan akun Anda

  • Stripe: langganan klinik berfungsi dalam mode simulasi; untuk menarik uang sungguhan Anda memerlukan akun dan harga Stripe Anda.
  • Twilio: tanpa kredensial, SMS dan WhatsApp hanya dicatat di log; untuk mengirim Anda memerlukan akun Anda.
  • Email: di lokal menggunakan Mailpit; di produksi Anda memerlukan penyedia SMTP Anda.
  • CFDI: tidak termasuk PAC. Bukti adalah uji coba dan tidak memiliki validitas fiskal; strukturnya siap untuk menghubungkan PAC nyata, yang integrasi dan kontraknya menjadi tanggung jawab Anda.
  • Penyimpanan S3, PostgreSQL, dan Redis produksi disediakan oleh Anda.

Lisensi

Dijual dengan lisensi standar pembeli Bernuvia: Anda dapat menggunakan dan memodifikasi Vetria, menyebarkannya sebagai SaaS milik Anda, dan membangun produk untuk klien Anda. Anda tidak dapat menjual kembali atau mendistribusikan kode sebagai template. Ketergantungan kode sumber terbuka mempertahankan lisensinya (THIRD_PARTY_NOTICES.md). Pembelian tidak termasuk hak atas merek "Vetria": termasuk panduan untuk menggunakan merek Anda sendiri.

Pertanyaan yang Sering Diajukan

Apakah ini dalam bahasa Inggris?

Tidak. Antarmuka, email, dan PDF hanya tersedia dalam bahasa Spanyol (Meksiko) dan tidak ada sistem i18n. Anda dapat menambahkan satu (misalnya, next-intl), tetapi memerlukan ekstraksi teks dan tidak termasuk.

Apakah faktur CFDI valid di depan SAT?

Tidak. Generator internal menghasilkan XML dan PDF uji coba. Untuk menstamp harus menyewa PAC dan menerapkan konektornya di antarmuka yang disertakan.

Bagaimana data diisolasi antara klinik?

Setiap tabel memiliki klinik sebagai kunci dan kebijakan RLS di PostgreSQL. API terhubung dengan peran tanpa bypass dan menetapkan klinik di setiap transaksi.

Bisakah saya menjualnya sebagai SaaS ke klinik hewan?

Ya, dengan merek Anda. Yang tidak dapat Anda lakukan adalah menjual kembali kode sebagai template.

Apakah saya perlu Stripe atau Twilio untuk mencobanya?

Tidak. Tanpa kredensial berfungsi dalam mode simulasi dan semuanya diuji secara lokal dengan Docker.

Bisakah saya menggunakan basis data lain?

Tidak tanpa menulis ulang bagian penting: isolasi tergantung pada RLS PostgreSQL 16.

Apakah ini berfungsi di ponsel?

Ini adalah aplikasi web responsif yang dapat diinstal sebagai PWA. Tidak termasuk aplikasi asli untuk iOS atau Android.

Template terkait

−33%

Smart-Money Tracker for Polymarket – macOS SwiftUI App

Aplikasi macOS asli untuk menemukan, mengikuti, dan menganalisis dompet Polymarket yang paling menguntungkan: tingkat kemenangan yang sebenarnya, taruhan bersama, peringatan, dan simulasi copy-trading. Tanpa kunci API, tanpa backend.

Aplikasi desktop

10 USDC15 USDC
3
−58%

MediAgenda - medical booking SaaS

SaaS pemesanan medis lengkap yang dibangun dengan Next.js 14, Prisma & Stripe. Empat portal (pasien, dokter, admin, dukungan) obrolan waktu nyata, catatan medis, bilingual EN/ES. Luncurkan klinik Anda dalam beberapa hari.

SaaS

19 USDC45 USDC
(1)1
−54%

Lumora – Visual Website Builder SaaS with Bootstrap 5 (Full Source)

Pembuat halaman seret & lepas dengan editor kode langsung, 8 template, penerbitan satu klik dengan domain kustom, tim dengan peran dan rencana Stripe. Siap Docker.

SaaS

18 USDC39 USDC
−21%

Whiteout – 3D Zombie Shooter untuk Web & Android (three.js + TS)

Sebuah permainan tembak-menembak bertahan hidup orang pertama yang lengkap: berlari melintasi ladang beku dan menembaki gerombolan, bos, dan kawanan anjing. Web + Android, 100% prosedural, EN/ES, kode TypeScript yang bersih.

Game

22 USDC28 USDC

Belum ada ulasan. Jadilah orang pertama yang berbagi pengalaman.