Skip to content

TomRoyls/nextcloud_pointcloudviewer

Repository files navigation

Nextcloud Point Cloud Viewer

Point Cloud Viewer app for Nextcloud with support for LAS, LAZ, and E57 point cloud formats using Potree.

Development Setup

Prerequisites

  • Docker and Docker Compose
  • Go 1.21+
  • Node.js 20+
  • PHP 8.0+
  • Make

Quick Start

# Clone or create project directory
git clone https://github.com/yourusername/files_pointcloudviewer.git
cd files_pointcloudviewer

# Build ExApp
make build-exapp

# Start development environment
make dev

# Access Nextcloud
open http://localhost:8080
user: admin
password: admin

Project Structure

files_pointcloudviewer/
├── appinfo/           # App metadata
├── lib/              # PHP backend (Nextcloud app)
├── src/               # Frontend (Vue.js)
├── ex_app/            # Go ExApp (conversion service)
└── docker/             # Docker Compose setup

Architecture

  1. Nextcloud App (PHP): Handles Nextcloud integration

    • MIME type registration (LAS, LAZ, E57)
    • Event listeners (file operations, cache invalidation)
    • Cache management
    • Admin settings
    • Vue.js 2 frontend
  2. ExApp (Go): Handles point cloud conversion

    • PotreeConverter integration
    • REST API for conversion and metadata
      • Job queue management
  3. Docker Environment: Testing infrastructure

Current Status

  • ✅ Project structure created
  • ✅ PHP backend components (services, controllers, listeners, migrations)
  • ✅ Go ExApp (config, converter, API)
  • ✅ Docker Compose configuration
  • ✅ Webpack config
  • ✅ Playwright tests
  • ✅ README

Next Steps

  1. Initialize PHP dependencies:

    cd files_pointcloudviewer
    composer install
  2. Build frontend assets:

    npm install
    npm run build
  3. Build ExApp:

    make build-exapp
  4. Start Docker environment:

    make dev
  5. Enable app in Nextcloud:

    • Upload app to /var/www/html/apps-extra/
    • Run occ app:enable files_pointcloudviewer
    • Configure ExApp URL in admin settings

Features

  • ✅ MIME type registration for LAS, LAZ, E57
  • ✅ Vue.js 2 viewer with Potree integration
  • ✅ File operation listeners
  • ✅ Cache management system
  • ✅ Admin settings panel
  • ✅ Go ExApp with PotreeConverter
  • ✅ Docker testing environment
  • ✅ Playwright integration tests
  • ✅ Cache retention policies
  • ✅ Auto-convert on upload option
  • ✅ Clear cache on update option

Dependencies

  • Nextcloud 31+
  • Nextcloud AppAPI (for ExApp support)
  • Nextcloud Viewer (for viewer integration)
  • Vue.js 2.7 (Nextcloud standard)
  • Gin/Gonic (Go HTTP framework)

License

AGPL-3.0-or-later

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors