This commit is contained in:
Trevi Awater
2026-03-30 21:37:04 +02:00
parent aa39ac057b
commit 3f87a65c14

134
README.md
View File

@@ -1,135 +1,77 @@
# PocketGraph - Neo4j Mobile Client
# PocketGraph
[![Deploy GitHub Pages](https://github.com/kl0070/xamarin-neo4j/actions/workflows/deploy-pages.yml/badge.svg)](https://github.com/kl0070/xamarin-neo4j/actions/workflows/deploy-pages.yml)
[![Integration Tests](https://github.com/kl0070/xamarin-neo4j/actions/workflows/integration-tests.yml/badge.svg)](https://github.com/kl0070/xamarin-neo4j/actions/workflows/integration-tests.yml)
A powerful mobile Neo4j database client for iOS and iPad, built with Xamarin.Forms.
A mobile Neo4j and Memgraph client for iOS, built with .NET MAUI.
[![Download on the App Store](https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83&releaseDate=1280278400)](https://apps.apple.com/nl/app/pocketgraph/id1604368926)
🌐 **[Visit our website](https://kl0070.github.io/xamarin-neo4j/)** for more information and beautiful screenshots!
## Overview
PocketGraph is a professional Neo4j graph database client that brings the power of Neo4j to your mobile device. Connect to your Neo4j instances securely via the lightning-fast Bolt protocol with SSL encryption, and manage your graph data on the go.
## Features
### 🔐 Secure Connections
- Connect via the lightning-fast Bolt protocol
- SSL/TLS encrypted connections
- Multiple connection management
- Database switching support
### 📊 Data Visualization
- **Graph View**: Visualize nodes and relationships in an interactive graph
- **Table View**: View query results in a structured table format
- Interactive data exploration
### ✍️ Advanced Query Editor
- Syntax highlighting for Cypher queries
- Query history and management
- Save and organize your queries
- Execute Cypher queries directly
### 🎨 Modern Interface
- Light and Dark theme support
- Responsive design for iPhone and iPad
- Intuitive navigation
- FontAwesome icon integration
### 📱 Platform Support
- iPhone (iOS 14.2+)
- iPad (iPadOS 14.2+)
- Apple Silicon Mac (macOS 11.0+)
- Apple Vision Pro (visionOS 1.0+)
- Connect via the Bolt protocol with SSL/TLS support
- Compatible with Neo4j and Memgraph
- Interactive graph visualization with expand/collapse
- Table view for query results
- Save and manage connections and queries
- Light and dark theme
- iPhone and iPad support (iOS 14.2+)
## Project Structure
```
Xamarin.Neo4j/
├── Xamarin.Neo4j/ # Shared Xamarin.Forms project
│ ├── Controls/ # Custom UI controls
│ ├── Converters/ # XAML value converters
│ ├── Managers/ # Connection and query managers
│ ├── Models/ # Data models
│ ├── Pages/ # Application pages
│ ├── Services/ # Business logic services
│ ├── ViewModels/ # MVVM view models
│ └── Visualization/ # Graph visualization components
├── Xamarin.Neo4j.Android/ # Android-specific implementation
├── Xamarin.Neo4j.iOS/ # iOS-specific implementation
└── Xamarin.Neo4j.Tests/ # Unit tests
├── Xamarin.Neo4j/ # Shared .NET MAUI project
├── Xamarin.Neo4j.iOS/ # iOS platform project
├── Xamarin.Neo4j.Tests/ # Unit tests
└── Xamarin.Neo4j.IntegrationTests/ # Integration tests (Neo4j + Memgraph via Docker)
```
## Key Components
### Services
- **Neo4jService**: Handles all Neo4j database operations via Bolt protocol
- **ConnectionStringManager**: Manages saved connections
- **SavedQueryManager**: Organizes and stores queries
### Pages
- **ConnectionsPage**: Manage database connections
- **SessionPage**: Execute queries and view results
- **GraphPage**: Interactive graph visualization
- **TablePage**: Tabular data view
- **QueriesPage**: Saved queries management
- **SettingsPage**: Application settings
## Technology Stack
- **Framework**: Xamarin.Forms
- **Database**: Neo4j (Bolt Protocol)
- **Languages**: C#, XAML
- **Visualization**: Custom WebView integration with Neovis.js
- **Architecture**: MVVM (Model-View-ViewModel)
## Development
### Prerequisites
- Visual Studio 2019/2022 or Visual Studio for Mac
- Xamarin workload installed
- iOS development: macOS with Xcode
- Android development: Android SDK
- .NET 10 SDK
- Xcode (for iOS builds)
- Docker (for integration tests)
### Building the Project
### Building
1. Clone the repository:
```bash
git clone https://github.com/kl0070/xamarin-neo4j.git
cd xamarin-neo4j
cd Xamarin.Neo4j
dotnet build Xamarin.Neo4j.sln
```
2. Open the solution:
```bash
open Xamarin.Neo4j/Xamarin.Neo4j.sln
```
3. Restore NuGet packages and build the solution
### Running Tests
```bash
dotnet test Xamarin.Neo4j/Xamarin.Neo4j.Tests/Xamarin.Neo4j.Tests.csproj
# Unit tests
dotnet test Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Tests/
# Integration tests (requires Docker)
dotnet test Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.IntegrationTests/
```
## Technology Stack
- .NET MAUI
- Neo4j.Driver (Bolt protocol)
- C# / XAML
- MVVM architecture
- Testcontainers for integration testing
## Privacy
PocketGraph does not collect any user data. All connections and queries are stored locally on your device.
## About
PocketGraph is created by [Re: Software B.V.](https://resoftware.nl)
PocketGraph is a product of [Re: Software](https://resoftware.nl).
**Note**: The Neo4j Graph Database is a product created by Neo4j, Inc. Neo4j® and Cypher® are registered trademarks of Neo4j, Inc.
Neo4j and Cypher are registered trademarks of Neo4j, Inc.
## License
See [LICENSE](LICENSE) file for details.
See [LICENSE](LICENSE) for details.
## Support
For support, please contact: info@resoftware.nl
---
**Available on the App Store** - [Download PocketGraph](https://apps.apple.com/nl/app/pocketgraph/id1604368926)
Contact: support@resoftware.nl