A privacy-centric process flow and note-taking desktop application built with Electron, React, and TypeScript.
- Process Flow Visualization: Create and manage visual process flows with drag-and-drop functionality
- Multi-level Hierarchy: Drill down into sub-processes with unlimited nesting
- Rich Text Notes: Create notes with formatted text and embedded media
- Checklist Templates: Define reusable checklist templates and attach instances to processes/notes
- Media Support: Embed images, videos, and other files directly in your content
- Privacy-First: All data stored locally on your device
- Future-Ready: Built with provisions for secure collaboration features
- Frontend: React, TypeScript, Tailwind CSS
- Process Visualization: React Flow
- Rich Text Editor: TipTap
- State Management: Zustand
- Desktop Framework: Electron
- Database: SQLite (better-sqlite3)
- Build Tools: Webpack
- Node.js 16+ and npm
- Git
- Clone the repository:
git clone <repository-url>
cd papeFlow- Install dependencies:
npm install- Start the development server:
npm run devThis will start both the Electron main process and the React development server.
npm run buildnpm run distThis will create distributable packages for your platform in the release directory.
papeFlow/
├── src/
│ ├── main/ # Electron main process
│ │ ├── database/ # Database setup and migrations
│ │ ├── ipc/ # IPC communication handlers
│ │ ├── index.ts # Main entry point
│ │ └── preload.ts # Preload script
│ ├── renderer/ # React application
│ │ ├── components/ # React components
│ │ ├── stores/ # Zustand state management
│ │ ├── styles/ # Global styles
│ │ └── index.tsx # Renderer entry point
│ └── shared/ # Shared types and constants
├── public/ # Static assets
├── dist/ # Build output
└── release/ # Packaged applications
- Visual node-based interface using React Flow
- Drag and drop to reposition processes
- Connect processes with visual edges
- Double-click to drill down into sub-processes
- Breadcrumb navigation
- Processes: Hierarchical structure with parent-child relationships
- Connections: Visual links between processes
- Notes: Rich text documents with tagging and linking
- Checklists: Reusable templates with instance tracking
- Media: File attachments with metadata
- All data stored locally in SQLite database
- No external API calls or telemetry
- Database location:
~/AppData/Roaming/papeFlow/(Windows) or equivalent - Optional data export/import functionality
- Sync-based updates between authorized users
- Conflict resolution for concurrent edits
- Version history and rollback
- Encrypted peer-to-peer sync
- Advanced search and filtering
- Process templates
- Reporting and analytics
- Plugin system
- Mobile companion app
npm run dev- Start development environmentnpm run build- Build for productionnpm run start- Run built applicationnpm run dist- Package for distributionnpm run lint- Run ESLintnpm run format- Format code with Prettier
MIT
This is a private project for personal use. If you have access and want to contribute:
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For issues or questions, please open an issue in the repository.