• Stars
    star
    118
  • Rank 299,923 (Top 6 %)
  • Language
    C#
  • Created about 3 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ASP.NET Core Web API with React, Entity Framework, Elasticsearch, Paypal integration

Book Exchange App (ASP.Net Core Web API + React)

BookExchangeApp is a fully functioning application that allows users to exchange books, earn and buy points, and receive recomendations based on the rated books.

Components

Key Features

  • Integration with ElasticSearch for smart search of books (via keywords inside the title/description/author)
  • Authentication as a service (IdentityServer4).
  • Integration with payment systems (PayPal)

Basic Functionality

  • Post/request/add book to wishlist
  • Filtered search of books
  • Point system for exchanging books
  • Book recomendation system (content-based filtering)

BookExchange API

The design of the Web API follows CQRS pattern, that allows intercating with the main database (SQL Server) and ElasticSearch, for smart search of books.

BookExchange Application

Application layer of the web application, containing queries and commands for each entity, as well as the book recommendation service, based on the content-filtering algorithm.

BookExchange Domain

Contain domain models, their configurations and repositories

BookExchange Infrastructure

Contains the implementation of repositories for interacting with databases and dbContext.

SQL Server acts as a main database, which contains all of the data. ElasticSearch db contains only the information of books and allows to perform smart queries.

BookExchange IdentityServer

Authentication is implemented as a server, following resource owner credentials workflow and using IdentityServer4.

BookExchange React

Client side of the application. React with Typescript.

Screenshots