Skip to content

vedanthnyk25/Evoque

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Evoque – Scalable Ride Management System

Evoque is a distributed ride management backend built with Go (Golang), designed for scalability, resilience, and real-time communication.
It follows a microservices architecture, ensuring loose coupling, independent deployment, and fault tolerance across core modules like Trip, Driver, and Payment services.

Architecture Overview

Evoque adopts a clean microservices architecture where each service is independent and communicates through well-defined interfaces.

Trip Scheduling Flow

Core Features

  • Microservices Architecture — Trip, Driver, and Payment services built independently in Go.
  • API Gateway — Single entry point for clients, handling REST routing, authentication, and WebSocket connections.
  • Real-Time Notifications — WebSocket-based event streaming for instant updates like driver assignment or trip status.
  • Inter-Service Communication — High-performance gRPC + Protocol Buffers for structured and efficient data exchange.
  • Asynchronous MessagingRabbitMQ (Topic Exchange) used for event-driven workflows and decoupled service coordination.
  • Distributed TracingJaeger integrated for observability and monitoring service performance.
  • Containerization & OrchestrationDockerized microservices deployed via Kubernetes for auto-scaling and fault isolation.
  • Configurable & Extensible — Follows 12-Factor App principles for easy environment configuration and scaling.

Services

Service Description Communication Tech
Trip Service Handles trip creation, status updates, and driver-trip assignments gRPC + RabbitMQ Go
Driver Service Manages driver registration, availability, and matching gRPC + RabbitMQ Go
Payment Service Processes payments and billing workflows gRPC + RabbitMQ Go
API Gateway Handles client communication and routing REST + WebSocket Go

Technologies Used

Category Tools
Languages Go (Golang)
Backend Communication gRPC, Protocol Buffers
Messaging System RabbitMQ (Topic Exchange)
Tracing & Monitoring Jaeger
Containerization Docker
Orchestration Kubernetes
API & Real-time REST, WebSockets
Databases MongoDB / SQL (as per service requirements)
Version Control GitHub

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published