ARK-Builders / ARK-Builders/ark-core

`ark-cli`: Server mode and read-only Web-gallery

Open
#48 0 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
Rust
Stars
10
Forks
6
PR merge metrics
No merged PRs in 30d

Description

Another feature for `ark-cli serve` can be functioning as Web-based photo-album, meaning that user could browse photos, videos and other resources from browser on remote device. The presentation of the resources must be similar to [ARK Navigator](https://github.com/ARK-Builders/ARK-Navigator), but only "read-only" mode is needed for the start. Later, we could add mutable operations like setting tags as well, but we would need to implement authentication for this.

In read-only mode, any visitor of the web page should see all resources from roots specified during the start-up. Visitors also should have access to tags and other ARK features stored in the roots. At the same time, low-level details like storage paths and resource ids should be, probably, hidden to prevent hacking opportunities.

Essentially, this feature would allow to host online public photo-album for anybody requiring only basic DevOps skills like [Syncthing](https://syncthing.net/) and `ark-cli` installation. The album would be connected to all devices providing the content — you shoot a photo and it uploads to the server immediately. There should be privacy settings as well, like publishing only certain tags or requiring PIN-code for some resources.

Contributor guide

Open the contributing guide

Research direction

Start at the `ark-cli serve` entry point and review ARK Navigator for the intended resource presentation. Define the read-only scope, including browsing resources and tags while hiding storage paths and resource IDs; privacy settings and PIN-protected resources are also requested but need further design.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.