Skip to content

🧠 The core system of photos.network an open-source project for a self-hosted photo management application

License

Notifications You must be signed in to change notification settings

photos-network/core

Photos.network

License GitHub contributors GitHub Workflow Status

Photos.network is a free and open source, privacy first, self-hosted photo storage and sharing service for fediverse.

Its core features are:

  • Share photos with friends, family or public
  • Filter / Search photos by attributes like location or date
  • Group photos by their content like people or objects
  • Upload photos and videos without resolution or quality constraints

🧠 Core

This repository contains the core system of the project. It is responsible for main tasks e.g.:

  • Authentication (validate the identity of users)
  • Authorization (handle access privileges of resources like photos or albums)
  • Plugin Handling (extend the feature-set by plugins)
  • Persistency (read / write data)
  • Task Processing (keep track of running tasks)

🧪 Development

The core is written in 🦀 Rust and highly customizably by using a Plugin-system.

🔬 Testing

To run tests for all crates in this workspace, run:

$ cargo test --workspace --all-targets

Run continuous checks on a specific crate during development.

$ cargo watch --exec 'test -p media'

📜 Roadmap (MvP)

  • Create a new media item
  • Upload one or multiple images
  • Download a list of owned media items
  • Download the original file for a specific media item
  • Authenticate via openID

🧩 Contribution

This is a free and open project and lives from contributions of the community.

See our Contribution Guide

🏛️ License

Photos.network · A privacy first photo storage and sharing service for fediverse
Copyright (C) 2020 Photos network developers

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.