Hopster is a modular, scalable, and microservice-based ride-sharing backend system written in Go using gRPC, designed to handle real-world challenges of user onboarding, driver management, and trip coordination.
π§ Currently in development β built with clean architecture principles, type-safe protobufs, and structured monorepo tooling.
Hopster is structured into 3 main services + 1 gateway:
apps/
βββ user --> Manages user registration & login
βββ driver --> Handles driver profile & availability
βββ trip --> Coordinates ride creation & status
βββ gateway --> HTTP interface for frontend, routes to internal gRPC services
packages/
βββ proto --> Shared protobuf definitions and generated Go code
Each service exposes a gRPC interface, and the gateway handles HTTP requests and converts them into internal gRPC calls.
- π§ Golang β Modern, fast, strongly typed backend
- π gRPC β Internal service communication
- π¦ Protocol Buffers β Schema definition & code generation
- π οΈ Monorepo β Centralized using native Go tooling
- π Modular Clients β Each service has a gRPC client abstraction
- π§ͺ Testable Design β Handler abstractions for easier mocking
- Go 1.21+
- Protobuf compiler (
protoc) protoc-gen-goandprotoc-gen-go-grpc
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latestgit clone https://github.com/parthkapoor-dev/hopster
cd hopster
# Initialize and download Go modules
go mod tidyprotoc --go_out=packages/proto/build --go-grpc_out=packages/proto/build \
--proto_path=packages/proto packages/proto/*.protocd apps/user
go run main.gocd apps/gateway
go run main.goServices listen on ports like
:2000, and Gateway on:3000by default.
Frontend --> Gateway (HTTP) --> gRPC (User Service)
POST /users/register --> RegisterNewUser(ctx, pb.User)
The gateway translates HTTP requests into protobufs, calls the gRPC method, and responds to the client.
- gRPC Setup with Gateway
- User Service Skeleton
- Implement User Registration Logic (DB)
- Add Driver Service
- Add Trip Service
- Authentication & Middleware
- Docker Compose + Dev tooling
Pull requests and issues are welcome. Letβs build something scalable and elegant!
Parth Kapoor π Portfolio | π LinkedIn | π GitHub
MIT License