DEV Community

Cover image for Redis Hackathon: EmpFriendly - Backend
Thanaphoom Babparn
Thanaphoom Babparn

Posted on

Redis Hackathon: EmpFriendly - Backend

Overview of My Submission

EmpFriendly - Support your employees and strive to be better

Inspiration is came from "Workers has different purpose to do in daily, so why don't we find something that make opportunity for our employees"

This project will show the overview of microservices architecture that design base on Cloud-Native approach (actually, some parts still missing because need to compete with the times), In this regards, I design to show how we can implement it from scratch including RESTful/GraphQL API, Aggregation Pattern, Asynchronous messaging with Pub/Sub and Streams.

The main purpose of this project is to highlight the implementation of microservices from scratch (how they work, how they communicate each other) and show the complexity of distributed systems. In the meanwhile, find the capabilities of Redis-OM Libraries.

Tech Stack

  • Spring Boot/WebFlux [Java/Kotlin] + Redis OM Spring
  • Sanic, FastAPI [Python] + Redis OM Python
  • Redis Stack (Cloud)
  • Kubernetes (Deployment/Service/Secret/ConfigMap)

Submission Category:

Microservice Mavens

Video Explanation

Overview explaination video

Language Used

Java/Spring, Kotlin/Spring, Python/Sanic, Python/FastAPI

Link to Code

GitHub logo marttp / emp-friendly

EmpFriendly [Redis Hackathon on DEV 2022] - Support you employees and be better

EmpFriendly

EmpFriendly [Redis Hackathon on DEV 2022] - Support your employees and strive to be better

This project will show the overview of microservices architecture that design base on Cloud-Native approach (actually, some parts still missing because need to compete with the times), In this regards, I design to show how we can implement it from scratch including RESTful/GraphQL API, Aggregation Pattern, Asynchronous messaging with Pub/Sub and Streams.

Postman Example

Postman Example

Kubernetes deployment

Kubernetes component including pods, deployments, and services

Location Streaming screenshots

Location Streaming

Streaming Example in Redisinsights

Streaming display from redisinsights

Overview video

Here's a short video that explains the project and how it uses Redis:

Overview explaination video

Demo/Walkthrough video

Here's a video that shows how api work and explain implementation in some technical:

Walkthrough video

How it works

How Architecture look like?

Architecture

More Informations are inside the architecture directory

Scenario 1 - Admin level (who can manage on this role) manipulate data

Admin level manipulate internal data

Scenario 2 - Pay IC Points

Pay IC Points

Scenario 3 - Give rating to restaurant/driver

Additional Resources / Info

EmpFriendly - Docker Hub Queries
Spring Boot
Spring WebFlux
Redis OM Spring
FastAPI
Sanic
Redis OM Python

Demo Videos

Walkthrough video

Screenshots/Architecture

High-Level Design

High-Level Design

Kubernetes deployment

Microservices Deployment

[Scenario 1] - Admin level (who can manage on this role) manipulate data

Admin level manipulate internal data

[Scenario 2] - Pay IC Points

Pay IC Points

[Scenario 3] - Give rating to restaurant/driver

Give rating

[Scenario 4] - Driver accepted Deliver/Journey => Start collect location of drivers

Driver accepted Deliver/Journey

Example QR Code for payment

Example QR Code for payment


Top comments (0)