Transport
gRPC over TLS with JWT authentication between the Go CLI and server.
Learning project
A team project for practising authenticated client-server storage, file handling and synchronization in Go.

Learning goal
The project combines a network API, PostgreSQL and MinIO on the server, and a local SQLite database in the CLI. That makes duplicate requests, revisions and conflicts part of the implementation rather than an afterthought.
gRPC over TLS with JWT authentication between the Go CLI and server.
PostgreSQL stores structured records; MinIO stores binary objects.
SQLite keeps a local copy for synchronization.
Revision logs and idempotent operation IDs keep repeated requests predictable.
Architecture
Result
The public repository includes upload and download flows, revision-based synchronization, conflict handling and integration tests. It is a completed learning project, not a production password manager.
The main engineering work was in retries, revisions and conflicts between local and server state.