Summary

In this phase we will tackle our first real implemtation and project management. We will begin by learning more about Go and gRPC. In parallel we are going to implement basic chunk transfer mechanisms between client and server and the storage of chunks in storage servers and metadata in memory.

Tasks

Go & gRPC

The first milestone for each team member was getting comfortable with the Go ecosystem and understanding the fundamentals of gRPC.

Since fully mastering Go can take significant time, we adopted a pragmatic approach:

This allowed us to stay productive while progressively improving our Go proficiency.

Amir led the implementation of the gRPC service layer. He:

The project was organized into three main layers:

/api → gRPC and db definitions

/internal → Core business logic and services

/cmd → Application entry points

This structure keeps responsibilities clearly separated and aligns with common Go project conventions.