Skip to content

DrMboga/PhotoLibrary

Repository files navigation

PhotoLibrary

A family photo library application. Your entire family's cherished memories, beautifully organized and easily accessible in one smart and intuitive application. Browse through generations of moments with ease, sort by date, event, or family member, and relive your most precious memories in a seamless and visually stunning way. PhotoLibrary is the perfect digital companion to ensure your family's photographic history is always at your fingertips, ready to be shared and cherished for generations to come.

Application specification Raspberry Pi Deployment manual

Useful resources:

Frontend environment values

There is a .env file in the root of frontend near the package.json. It is excluded from source control and contains some environment setting which used by frontend. Here is the example of such .env file:

REACT_APP_BACKEND_URL=https://localhost:7056
REACT_APP_VERSION=$npm_package_version

How to teach ML model to classify images using ML Net CLI

  1. Create a folder which contain a model data to learn. Each subfolder contains a set of images, and subfolder name will be used as a label name
  2. Install ML CLI
dotnet tool install --global mlnet-win-x64 --version 16.13.9
  1. Train model. (A test console application will be generated)
mlnet image-classification --dataset "..\photo-library-lib\ML" --log-file-path "..\mlTests" --name "PhotoLibraryModel"

How to regenerate proto messages on backend and frontend.

After making changes in *.proto file, run following:

protoc --proto_path=protobuf --csharp_out=backend/PhotoLibraryBackend.Common --csharp_opt=base_namespace=PhotoLibraryBackend.Common media-info.proto
protoc --proto_path=protobuf --ts_out=frontend/src/model media-info.proto

Install HEIC tools to host Linux OS

sudo apt install libheif-examples