An Interest In:
Web News this Week
- March 21, 2024
- March 20, 2024
- March 19, 2024
- March 18, 2024
- March 17, 2024
- March 16, 2024
- March 15, 2024
eOffice - Collaboration through microservices using Redis
Table of contents
Overview
Submission Category
Video
Link to the application
Link to code
Architecture
How the data is stored
Functionalities
Overview of My Submission
eOffice is human resources platform that provides processes to onboard a new employee and to manage the benefits of the employees distributing the responsibilities between the different rolls.
Submission Category
The submission category is Microservices Mavens using for communication between services the pubSub feature from Redis.
Video
Architecture & Technologies
Link to the application
The application is hosted in Azure.
Link to the application
Link to Code
e-office | Redis Hackathon on Dev
Link to the application
Overview video
Project description
eOffice is human resources platform that provides processes to onboard a new employee and to manage the benefits of the employees distributing the responsibilities between the different rolls.
Functionalities
- See all onboardings
- Create an onboarding
- See details of an onboarding
- See all system accounts requests
- Resolve a system account request
Architecture and technologies
- Presentation project: Server Blazor Application using .Net 6.0
- Microservices: Web API using .Net 6.0
- Databases: SQL Server
- Microservices communication: Redis pub/sub
Flow diagrams:
How to run it locally?
Prerequisites
- .Net 6.0
- 3 SQL server databases
- A redis database
Local installation
- Add the connection strings in the appsettings.josn for each module for the databases
- Set as startup projects: eOffice, eOffice.Onboardings.API, eOffice.Leave.API, eOffice.SystemAccounts.API
- Run the projects
How it works
How the data is
Architecture
- Presentation project: Server Blazor Application using .Net 6.0
- Microservices: Web API using .Net 6.0
- Databases: SQL Server
- Microservices communication: Redis pub/sub
Language Used
C# - .Net 6.0
Flow diagrams
How the data is stored
The microservices are communicating with each other using the pub/sub from Redis, for each type of communication a different channel will be used.
3 channels
- SystemAccount_Channel
- Publisher: Onboardings Module
- Subscriber: SystemAccounts Module
- Leave_Channel
- Publisher: Onboardings Module
- Subscriber: LeaveBalance Module
- Onboarding_Channel
- Publisher: SystemAccounts Module, LeaveBalance Module
- Subscriber: Onboardings Module
Publis code
var modelAsString = JsonConvert.SerializeObject(model);_pubSub.Publish("channel_name", modelAsString);
Subscribe code
connection.GetSubscriber() .Subscribe("channel_name", (channel, message) => { // DO something });
Functionalities
- Dashboard
- See all onboardings
- Create an onboarding
- See details of an onboarding
- See all system accounts requests
- Resolve a system account request
- Check out Redis OM, client libraries for working with Redis as a multi-model database.
- Use RedisInsight to visualize your data in Redis.
- Sign up for a free Redis database.
Original Link: https://dev.to/alicefolvaiter/eoffice-collaboration-through-microservices-using-redis-336c
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To