<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>REST API on Prajwal's Blog</title><link>https://prajwal-banakar.github.io/tags/rest-api/</link><description>Recent content in REST API on Prajwal's Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 05 Jun 2026 16:22:02 +0000</lastBuildDate><atom:link href="https://prajwal-banakar.github.io/tags/rest-api/index.xml" rel="self" type="application/rss+xml"/><item><title>Employee Management System - A Microservices Architecture</title><link>https://prajwal-banakar.github.io/projects/employee-system/</link><pubDate>Mon, 01 Dec 2025 10:00:00 +0530</pubDate><guid>https://prajwal-banakar.github.io/projects/employee-system/</guid><description>&lt;p&gt;The Employee Management System is a comprehensive, enterprise-grade application demonstrating a complete transition from a monolithic architecture to a distributed microservices system. As a cornerstone project in my portfolio, it showcases advanced backend development techniques and a deep understanding of modern cloud-native patterns.&lt;/p&gt;
&lt;p&gt;This project serves as a practical guide to service decomposition, inter-service communication, centralized configuration, and robust security in a distributed environment.&lt;/p&gt;
&lt;h3 id="key-architectural-features"&gt;Key Architectural Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Service Decomposition&lt;/strong&gt;: The system is broken down into independent, domain-driven microservices, each with its own database and logic.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Employee Service&lt;/strong&gt;: Manages core employee data and handles user authentication.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Payroll Service&lt;/strong&gt;: Processes detailed salary and payroll information.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Leave Service&lt;/strong&gt;: Manages employee leave requests and approvals.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Service Discovery&lt;/strong&gt;: Utilizes &lt;strong&gt;Netflix Eureka&lt;/strong&gt; as a service registry, allowing services to dynamically find and communicate with each other without hardcoded endpoints.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Centralized Entry Point&lt;/strong&gt;: A &lt;strong&gt;Spring Cloud Gateway&lt;/strong&gt; acts as the single entry point for all client requests. It is responsible for routing, load balancing, and cross-cutting concerns like security.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decentralized Security&lt;/strong&gt;: Security is enforced at the gateway level using &lt;strong&gt;Spring Security&lt;/strong&gt; and &lt;strong&gt;JSON Web Tokens (JWT)&lt;/strong&gt;. The gateway validates tokens before forwarding requests to downstream services, ensuring the entire system is secure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="core-technologies"&gt;Core Technologies&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Backend&lt;/strong&gt;: Java 21, Spring Boot 3&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microservices&lt;/strong&gt;: Spring Cloud Gateway, Netflix Eureka&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt;: Spring Security 6, JWT (JSON Web Tokens)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Database&lt;/strong&gt;: Spring Data MongoDB (for data persistence)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Build&lt;/strong&gt;: Apache Maven&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a detailed explanation of the architecture, API endpoints, and setup instructions, please visit the &lt;a href="https://github.com/Prajwal-banakar/Employee-System"&gt;Employee-System GitHub Repository&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>