A secure, modular, and production-ready password manager service built with Go, using gRPC for communication and backed by PostgreSQL, Redis, and MinIO for persistence, caching, and object storage.
- ✅ Secure gRPC API with TLS
- 🗄️ PostgreSQL-backed data storage
- ⚡ Redis for caching
- 📦 MinIO (S3-compatible) for file/object storage
- 🧪 Unit testing with coverage
- 📁 Database migrations with Goose & Atlas
- 🐳 Fully dockerized dev environment
- 🧰 Linting, formatting, and code generation included
- Docker + Docker Compose
- Make
- Go 1.21+
- Optional:
buf
,atlas
,goose
,golangci-lint
git clone https://github.com/your-username/go-password-manager.git
cd go-password-manager
TLS certificates are required for secure gRPC communication. You can generate a self-signed certificate for localhost
using the following command:
make generate-cert
You can run server in Docker image or as a dinary
as a docker image with all images applied
make run-docker
as a binary
make run-server
to debug with Delve
make run-docker-debug
to debug Client
make debug-client
to make a clean run
make run-client
Simply use command in yur terminal
make build-client-all