From 3f87a65c14b5832142c230274ad68eaed6de8d92 Mon Sep 17 00:00:00 2001 From: Trevi Awater Date: Mon, 30 Mar 2026 21:37:04 +0200 Subject: [PATCH] Fixes --- README.md | 134 ++++++++++++++++-------------------------------------- 1 file changed, 38 insertions(+), 96 deletions(-) diff --git a/README.md b/README.md index eefb4e6..e785ee5 100644 --- a/README.md +++ b/README.md @@ -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