Учебный проект · 2026

GophKeeper

Командный проект для изучения аутентифицированного клиент-серверного хранилища, бинарных объектов и синхронизации на Go.

Статус
Учебная область завершена
Роль
Go-разработчик в команде
Стек
Go, gRPC, PostgreSQL, MinIO
Клиент
CLI с локальной SQLite
Архитектура учебного проекта GophKeeper с сервером, CLI и хранилищами

Учебная цель

Исследовать сложные стыки, а не только CRUD

Проект объединяет аутентифицированную сеть, структурированное и объектное хранилища, локальную базу клиента, загрузки и синхронизацию. Поэтому повторы операций, ревизии и конфликты стали частью архитектуры.

Транспорт

gRPC поверх TLS с JWT между Go CLI и сервером.

Разделение хранения

PostgreSQL хранит записи, MinIO — бинарные объекты.

Локальное состояние

SQLite дает CLI устойчивое локальное представление для синхронизации.

Согласованность

Журнал ревизий, idempotency ID и оптимистические конфликты явно описывают повторные операции.

Архитектура

Локальное состояние синхронизируется через единый API

Go CLI с локальной SQLite синхронизируется через TLS gRPC-сервер с PostgreSQL и MinIO
Метаданные и файлы разделены, а один сервис отвечает за аутентификацию и правила синхронизации.

Результат и границы

Завершен и воспроизводимо протестирован как учебный проект

В публичном репозитории есть сервер и CLI, upload/download, синхронизация по ревизиям, обработка конфликтов и интеграционное покрытие. Go-тесты прошли при ревью в августе 2026 года. Это не коммерческий менеджер паролей и не продукт с независимым аудитом безопасности.

Ценность кейса — практика архитектуры и обработки сбоев, а не утверждение, что TLS и JWT сами по себе создают production-хранилище секретов.

Следующий проект

CRM для 3D-печати

Активный продукт, построенный вокруг реального пути заявки в производство.

Читать кейс →