Skip to content

wavezync/opnotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Op Notes

A cross-platform desktop application for managing surgical notes in hospitals. Built with Electron, React, and SQLite.

Features

  • Patient Management: Track patient records with PHN, demographics, and contact information
  • Surgery Records: Document surgeries with operation notes, post-op notes, and follow-ups
  • Doctor Management: Maintain doctor profiles with designations and SLMC registration
  • Full-Text Search: Quickly find patients, surgeries, and doctors
  • Print Support: Generate printable operation notes and follow-up records
  • Offline-First: All data stored locally in SQLite database

Tech Stack

  • Frontend: React 18, TypeScript, Tailwind CSS, Radix UI
  • Backend: Electron 28, SQLite (better-sqlite3), Kysely
  • Build: electron-vite, electron-builder
  • Forms: React Hook Form + Zod validation
  • Data Fetching: TanStack React Query

Recommended IDE Setup

Project Setup

Install

$ pnpm install

Development

$ pnpm dev

Build

# For windows
$ pnpm build:win

# For macOS
$ pnpm build:mac

# For Linux
$ pnpm build:linux

Other Commands

$ pnpm lint          # Run ESLint with auto-fix
$ pnpm typecheck     # TypeScript type checking
$ pnpm format        # Format code with Prettier

Project Structure

src/
├── main/            # Electron main process
│   ├── db/          # Database migrations
│   └── repository/  # Data access layer
├── preload/         # Electron preload scripts (IPC bridge)
├── renderer/        # React frontend
│   └── src/
│       ├── components/  # UI components
│       ├── routes/      # Page components
│       ├── contexts/    # React Context providers
│       └── hooks/       # Custom React hooks
└── shared/          # Shared types and models

License

MIT