GameStore-Microservice is a highly scalable microservice-based project developed for game sales and management. This project is built with modern technologies and provides high performance and flexibility on both backend and frontend.
- Backend: ASP.NET Core (.NET 8)
 - Frontend: Next.js 14
 - State Management: Zustand
 - Messaging and Communication:
- gRPC: Fast and reliable inter-service communication.
 - RabbitMQ: Messaging and asynchronous process management.
 - SignalR: Real-time notifications and messaging.
 
 - Databases:
- PostgreSQL
 - MSSQL
 - MongoDB
 - Redis (For caching)
 
 - Elasticsearch: Advanced search and filtering functions.
 - Cloudinary: Image and media management.
 - YARP Reverse Proxy: Service routing and load balancing.
 - Duende IdentityServer: Authentication and authorization.
 - JWT (JSON Web Token): Secure API access.
 - Iyzipay: Payment processing integration.
 
The project includes the following microservices:
- Basket Service: Manages user shopping cart operations.
 - Discount Service: Manages discounts and campaign creation.
 - Filter Service: Handles game and product filtering operations.
 - Game Service: Manages game information and stock control.
 - Gateway Service: Routes services using YARP Reverse Proxy.
 - Identity Service: Manages user authentication and authorization.
 - Order Service: Manages order operations and payment processes.
 - Search Service: Provides advanced search functionality over games and user data using Elasticsearch.
 
The GameStore-Microservice project is based on a microservice architecture that allows independent development and deployment of each service. This structure provides flexibility for horizontal and vertical scaling. Services communicate using methods like gRPC, RabbitMQ, and SignalR.
- .NET 8 or later
 - Node.js 20 or later
 - Docker and Docker Compose
 - PostgreSQL, MSSQL, MongoDB
 
- Clone the Project:
git clone https://github.com/serkanaplan/GameStore-Microservice.git cd GameStore-Microservice 
