lior-ashkenazi / goodsteams

E-commerce web application for book purchasing, inspired by Steam and GoodReads, using Java Spring Boot and a microservices architecture;

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GoodSteams

2023-11-20_20-32-21 2023-11-20_19-30-54 2023-11-20_19-35-37 2023-11-20_20-16-58 2023-11-20_20-17-55 2023-11-20_20-46-18 2023-11-20_20-46-50 2023-11-20_20-47-40 2023-11-20_20-47-54

GoodSteams is a Java Spring Boot and React-based e-commerce platform for book enthusiasts, blending features of Steam and GoodReads. It employs a microservices architecture with an intuitive frontend, leveraging Redux Toolkit, Vite.js, and Material UI, and is bolstered by Docker and Kubernetes for robust deployment on AWS.

Features

Server

  • Developed using Java Spring Boot, embracing a microservices architecture for efficient management of application functionalities.
  • Services implemented include Authentication, Profile, Book, Order, Review, Discussion, Library, Wishlist, and Recommendation.
  • Included an API Gateway service, acting as a Load Balancer and central point for routing and securing requests to the microservices.
  • Utilized Spring Security and JWT for secure user authentication and authorization.
  • Managed data with SQL databases, integrated with Spring Boot’s data handling capabilities.
  • Enabled inter-service communication with Apache Kafka, ensuring a loosely coupled system.
  • Leveraged Redis for efficient caching mechanisms, enhancing performance.
  • Containerized services using Docker and orchestrated deployment with Kubernetes on AWS EKS.
  • Integrated AWS RDS for database management and AWS S3 for image storage and retrieval.

Client

  • Developed with React and TypeScript, bundled with Vite.js for fast and efficient build tooling, offering a dynamic and responsive user interface.
  • State management efficiently handled using Redux Toolkit and Redux Toolkit Query for streamlined data fetching, caching, and state updates.
  • Implemented TanStack Query alongside Axios for optimized API communication.
  • Utilized react-hook-form and zod for robust form creation and validation, enhancing user interaction.
  • Incorporated react-router-dom for effective routing and navigation within the application.
  • Designed the interface with Material UI components and Tailwind CSS, creating an intuitive and visually appealing user experience.

About

E-commerce web application for book purchasing, inspired by Steam and GoodReads, using Java Spring Boot and a microservices architecture;


Languages

Language:TypeScript 53.2%Language:Java 46.3%Language:Dockerfile 0.3%Language:JavaScript 0.2%Language:HTML 0.1%Language:CSS 0.0%