GitHub - rayfeeney/OrchidApp: Self-hosted orchid collection manager with database-enforced lifecycle integrity, deterministic schema management, and production-grade guarantees. · GitHub
Skip to content
rayfeeneyPublic

About

Self-hosted orchid collection manager with database-enforced lifecycle integrity, deterministic schema management, and production-grade guarantees.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

OrchidApp

OrchidApp is a self-hosted orchid collection manager for plants, taxonomy, locations, observations, flowering, repotting, photos and lineage. It uses an ASP.NET Core Razor Pages web application (.NET 8) and MariaDB. Packaged Windows releases include a launcher and runtime components; Raspberry Pi/Linux deployments use an externally managed database and web service.

Start here

Platforms and scope

Role Support and entry point
Windows application Installer-led package; Windows contract. Do not overwrite an installed app with a ZIP.
Raspberry Pi/Linux server MariaDB and systemd; installation and upgrade guide. Current fresh-creation automation has documented blockers.
iPhone/iPad and Mac browsers Clients connecting to an existing server; iOS and Safari Dock instructions. No standalone Mac server release is implied.
Owner's local environmental monitoring Bespoke to one installation. It is not a requirement or general feature for other installations. See local monitoring; installation opt-in isolation still needs code work.

Features and data ownership

Plant records have permanent tags, optional acquisition details, event history and split/propagation lineage. Shared search covers botanical names and active plants. Genus/taxon notes support basic formatting. Images are processed through NetVips/libvips and stored as files; database metadata and upload files must be backed up together.

The data model assigns structural lifecycle work to stored procedures and uses EF Core for other writes. Detailed behaviour and current enforcement limits are in architecture and temporal design. Do not infer universal checksum, temporal ordering, metadata removal, rollback or recovery guarantees from a successful build.

Fresh databases and upgrades

A new database must be built from database/schema/ and required reference seeds alone. Historical migrations are not a creation mechanism. Baseline metadata must permit only subsequent changes to be applied later. The creation contract identifies current automation gaps; do not replay migrations to work around them.

Back up and verify a recovery path before upgrades. Application binaries are replaceable; the database, photos, configuration and settings are durable data. Windows legacy migration and settings restore have known pending fixes; user guides identify those limits rather than promise validated recovery.

Security and licence

OrchidApp assumes trusted local/home-network access. It has no built-in multi-user authentication and is not intended for direct public internet exposure. Keep credentials outside committed shared settings and keep backups private. Network/device access control is the operator's responsibility.

See LICENSE, third-party notices, and the application About/Licences pages. For support, include the app version, platform, attempted action and exact error; provide logs only when requested and review them for secrets.

Screenshots

Mobile repot status Desktop plant details Species and hybrids Photo viewer

Screenshots illustrate workflows and may not show every control in the current build.

About

Self-hosted orchid collection manager with database-enforced lifecycle integrity, deterministic schema management, and production-grade guarantees.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages