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.
- 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.
- 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.