Skip to content

The aim of this library is the ability to target any .NET platforms from aging but still very much in use .NET 4.7.2 to .NET 6 and its latest technologies.

License

Notifications You must be signed in to change notification settings

mvit777/BikeDistributor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BikeDistributor Library

A set of .netcore31 libraries to target any .NET platforms from aging but still very much in use .NET 4.7.2 to .NET 6 and its latest technologies.

A non-secondary aim of this project is also to select a bunch of well-established and mantained opensource libs & technologies and lightly wrap them into my own library

Also providing an abstraction layer for various db system. At the moment the only complete implementation is a MongoDB connector.

MongoDb is freely hosted by Atlas at https://www.mongodb.com/en/company

(Having the ability to host a database on a free remote server is truly a great gift, as one can easily test latency and try his/her favorite spinning stuff. Thanks again to Atlas)

Structure of the VS Solution

MV.Framework:

This is a business-domain-agnostic library. It mainly contains Generic Interfaces and BaseClasses (Ex. BaseRepository) with a high potential of being re-usable in BikeDistributor-like projects.

Same goes for other plumbing-facilities like DbQueryAsyncProvider, MongoContext, MongoSettings and the like.

BikeDistributor:

A library project to address a specific Business Domain. In this case it is a greatly simplified Product Catalogue + Shopping Chart like app.

We have a bunch of Domain Models (namely Product, ProductOption, Order, ReceiptFormat, Customer, Stock) wrapped into respective MongoEnititesXXX.

MongoEntities are saved into respective Repository which are only accessible via specialized MongoServicesXXX which take care of CRUD and everything else needed. An implementation of the Repository pattern, in short.

Data get written in No-sql db MongoDb and all revolve around the concept of collections.

The library also features some business-domain-specific plumbing and infrasctures that we will see later (maybe)

BikeDistributor.Test:

Unit-Test project for the BikeDistributor project

Other related projectes at some point in the future

A blazor demo client for the BikeDistributor library. This application will feature:

  • An admin area to build the Product Catalog and manage Orders and Orders' stats
  • A public Catalogue + Shopping Chart

A wasm blazor spa app in Net6.0. It will be nothing more than a barebone demo.

A sub-project of BikeShop, is just a thin wrapper around Bootstrap components

The glue webservice supporting both REST and gRPC

BikeShop.Bot.Customer.Random

A selenium web-driver alike set of scripts to create Orders.

It will pick Customers and issue orders using guided random while testing the Blazor app user-interface. Random values are adjusted on the customers' profile, that is to say one (type of) profile will have more chances of an other to buy/customise some type of bike or to have a particular type of interaction with user interface. The data produced should act as the test pool. The alternative would be totally deterministic scripts which I feel would be much more long to code.

BikeShop.Bot.CustomerBehaviors

Mainly a dream 'coz I don't know shit of AI beyond simple linear-regression.

This bot should be a console-test project and imitate the shopping behavior of 3-4 stereotypized customer behaviors. Ex:

  • low budget: favours special offers and discount over any choice
  • fashion victim: always buy newest or more expensive products
  • customisation maniac: if he can't choose every single detail of the product he/she does not buy
  • reseller: always places bulk orders
  • etc etc ... Customer behaviors are composed by freely mixable collections of personality traits that act as indicators of a given Customer Behavior Model, so that you can derive/create also new behaviorus.

Customer Behavior Models will be trained by BikeShop.Bot.Customer.AI

Initial Customer Behavior Models will most inevitably start as stereotypized based on "classic" western literature on the topic of Marketing and Consumerism and then I will try to drive them towards the verification of the following observation by Karl Gerth:

What is the Chinese dream?” I think the Chinese dream is the American dream plus 10%. It’s not the European dream of restraint and conservation. I think they’re closer to Americans. They want even more, bigger, better—as a generalization of course - Karl Gerth

ideally I wish to also somewhat target this observation by Eric Miller (this sentence is attributed at this guy on Wikipedia page consumerism, but I cannot find reference anywhere else. I apologise for my blatant ignorance)

Businesses have realized that wealthy consumers are the most attractive targets of marketing. The upper class's tastes, lifestyles, and preferences trickle down to become the > standard for all consumers. The not-so-wealthy consumers can "purchase something new that will speak of their place in the tradition of affluence"

the only other reference I found to this author and sentence is on one of the craziest but interesting internet page I have ever seen in my life Shea's SoapBox - BuySexual I don't know who this lady is but I like her crazy blog even if it looks abandoned

I know I'm getting a bit bombastic about my project targets but dreaming costs nothing.

Related and inspiring links

Customer buying habits are changing. Learn how to use predictive AI and marketing automation to get a pulse on your customers’ evolving behaviors and keep them coming back.

  • Dynamics 365 Customer Insights

  • ML.NET is a cross-platform open-source machine learning (ML) framework for .NET.

    • Model Builder ML.NET Model Builder is an intuitive graphical Visual Studio extension to build, train, and deploy custom machine learning models.
  • giacomelli/GeneticSharp GeneticSharp is a fast, extensible, multi-platform and multithreading C# Genetic Algorithm library that simplifies the development of applications using Genetic Algorithms (GAs)

  • playwright Seems there is a new kid in town of end-to-end testing (Selenium alike)

Books I want/will read soonish

Other things I want to do before dying

News & Events

About

The aim of this library is the ability to target any .NET platforms from aging but still very much in use .NET 4.7.2 to .NET 6 and its latest technologies.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages