I’ve made an open-source full stack medieval eBay-like marketplace with microservices, which in theory can handle a few million users, but in practice I didn’t implement caching. I made it to learn JWT, React and microservices.

Exploring Microservices with a Full-Stack Medieval Marketplace: A Developerโ€™s Journey

As a passionate developer eager to deepen my understanding of modern web technologies, I embarked on creating an open-source, full-stack marketplace inspired by platforms like eBay. This project, designed with microservices architecture, aims to support millions of users โ€” at least in theory. The main goal was to learn and experiment with JWT authentication, React, and microservices design.

Project Overview

The application features a front-end built with React, leveraging client-side rendering with plain JavaScript and CSS for a clean, straightforward user experience. On the backend, I integrated an ASP.NET Core RESTful API gateway tasked with request routing and data aggregation. While best practices often call for separating these concerns into distinct services, I opted to combine them for simplicity and expediency.

The backend comprises four dedicated microservices, each managing its own PostgreSQL database:

  • Authentication Service: Handles user accounts and credentials.
  • Listings Service: Manages product listings.
  • Comments Service: Facilitates user comments on listings.
  • User Ratings Service: Records user ratings and feedback.

Development Considerations

My source code is publicly available on GitHub, providing an accessible resource for developers interested in microservices architecture or looking to learn React and JWT implementation:

https://github.com/szr2001/BuyItPlatform

The project was primarily a sandbox for experimentation and growth. Notably, caching mechanisms were not implemented, though the architecture leaves room for future enhancements. Looking ahead, I plan to incorporate Docker containers, Kubernetes orchestration, and Redis caching to improve scalability and performance.

Learning Experience and Future Goals

While many might consider this a beginner to mid-level project, I believe it offers valuable insights into microservices development and full-stack integration. Itโ€™s a stepping stone for those looking to understand the intricacies of distributed systems and modern web application architecture.

Despite encountering some bugs and unfinished features, Iโ€™ve achieved my main learning objectives. For anyone interested in web development and microservices, I highly recommend experimenting with similar projectsโ€”programming is truly exhilarating!

Stay inspired, and keep coding!


Leave a Reply

Your email address will not be published. Required fields are marked *