Revaz is a full-stack engineer with more than six years of software development experience working with various technologies. Has a great knowledge of the whole development process. Experienced in the Agile methodology, he communicates extremely well with his team and focuses on getting the job done quickly. Tech-wise, Revaz typically uses C# .NET Core for the back end and Angular for the front end.
Joined the existing codebase of the inventory management system, based on ASP.NET Core and Angular, which helped bars and restaurants make their inventories, invoices, and reports easily.
Integrated Aweber email marketing software to reduce the manual effort of placing customers into different groups when sending email notifications.
Rearchitected the project domain-wise by creating correct domains before concrete implementation and duplicating some data into different domains. This improved the performance in different areas of the app.
Created a migrator software to take and form correct domains, placing the legacy system's data correctly into the new application's store.
Participated in a compliance management web application development process for the healthcare department.
Researched about functional programming usage in Angular and NgRx for state-management issues.
Created Azure CI/CD pipelines for Angular and .NET Core Web API projects.
Created a component library where custom form control and general components were implemented (inputs, checkboxes, buttons, progress bars, and more) and shared across the application.
Used a Metronic component library for a complex statistics dashboard.
Customized ASP.NET Zero's role management module to overcome issues related to authorization.
Made an algorithm using combinatorics to calculate the odds for every type of bet a user made in a lotto-game-based gambling website as the different types of odds were so much.
Created a custom identity server using IdentityServer4, which supported OAuth 2.0 as a global authorization and permission management service.
Migrated the front-end code of a betting-based gambling website from ASP.NET MVC razor views to Angular.
Implemented a Redis store mechanism in the authentication module as the users' hierarchy was quite complex. Included an impersonation feature where any user should be able to see the website from the perspective of any of their child users.
Used RabbitMQ to pass integration events between different microservices.
Supported the bank's data warehouse which was responsible for storing loan data.
Created ETL packages using SSIS to supply the loan data warehouse for client loans from external banks and microfinance companies.
Researched and optimized the procedures by neglecting the unnecessary joins and attaching the right indexes for processing different types of reports with the help of an SQL performance analyzer tool.
Merged different sources' data, made changes, and notified internal software with custom events during the business logic flow inside an application that had parse XML formatted configuration files.
Implemented a SaaS hospitality property management application that is used by multiple hotels in the Caucasus area.
Researched and implemented a hybrid database separation method for a multi-tenant application in order to store high traffic client's data into a separate database.
Implemented a notification microservice. Integrated a SendGrid API for email notifications, tracked email statuses, and implemented a retry mechanism.
Researched and implemented an auto email generator using ASP.NET Core Razor views.
Researched and used the ASP.NET Boilerplate framework to avoid tons of boilerplate code, where repositories, EventBus, error handling, service layer translations into the API, and other features were already implemented.
Integrated a CI/CD pipeline for automatic application delivery with the Azure hosting service.
Created a separated B2B client's microservice using MongoDB as a database.
Implemented .NET Core application using a horizontally-scalable architecture, inspired by Robert Cecil Martin's 'Clean Architecture'.
Utilizes MediatR for communication between presentation and application layers, including middlewares for event publishing, command handling, and transactional commands.
Leverages a 'Clean Architecture' approach with onion architecture, incorporating MediatR for modularity and reusability.