StoyanShopov / UpSkill

UpSkill is a learning platform for the business. We power the personal and professional development of the employees for thousands of businesses around the world. You can find top quality courses and coaches in the platform. Sign up for free demo!
25 stars 7 forks source link

Integrate Audit Trail #142

Closed StoyanShopov closed 2 years ago

StoyanShopov commented 2 years ago

Research how to use NLog, Firebase, Default Logger in ASP.NET Core. User Retention User Behaviour User Funnel

ZdravkoBorisov commented 2 years ago

1. User Retention is the continued use of a product or feature by your customers. For example, does simply running the application count as usage or is there a higher threshold based on time, number of key features used, etc.

2. User Churn - Subset of user retention metrics that looks at the number of users who have stopped using a product over a specific time period. Is your application used daily? Is your application used monthly? A longer time frame is more appropriate. Understanding the context of how your application is used and setting a relevant time period for analysis will yield more fruitful insights. Once you decide on the relevant time period, you can measure user retention by taking the number of active users at the beginning of the time period and subtracting it from the number of those users who are still using your application at the end of the time period. To calculate the retention rate for that time period, simply divide the beginning number by the end number.

3. User behavior - User behavior encompasses all the actions visitors take on a website: where and what they click on, how they scroll down a page, where they stumble, and where they eventually drop off the page and leave.Tracking user activity gives you an inside look at how people interact with your site and what obstacles or hooks they experience in their journey as your customers.

4. User Funnel - A funnel analysis is a method of understanding the steps required to reach an outcome on a website and how many users get through each of those steps. The set of steps is referred to as a “funnel” because the typical shape visualizing the flow of users is similar to a funnel in your kitchen or garage. A funnel analysis shows you where your users are dropping off along the conversion path. You can use it to figure out where the most opportunity is to make improvements. In the example above, the biggest drop-off occurred from visiting to adding an item to the shopping cart, so it would follow that making improvements in that product experience would have the biggest impact to the overall conversion rate.

5. I think that NLog would be the best option for our application logging system.

Here is why:

StoyanShopov commented 2 years ago

Id - PK DateTime Email ObjectType - Course/Coach/ItemType/User Object - POST model Action - Login/Create... Message - Custom message CallerInfo - MemberCaller attrbite Error - user already exist

Method chaining - research

ZdravkoBorisov commented 2 years ago

1. Method Chaining - The basic concept is that context flows from one method to the next - hence the term ‘chaining’. This style of programming can make code easier to read. If you’re used to working with something like LINQ, you’ll be familiar with this idea.

2. Builder pattern - Unlike other creational patterns, Builder doesn’t require products to have a common interface. That makes it possible to produce different products using the same construction process. The Builder pattern can be recognized in a class, which has a single creation method and several methods to configure the resulting object. Builder methods often support chaining.

ZdravkoBorisov commented 2 years ago

Example of Database Model -> (please give feedback) image

@StoyanShopov @ all

ZdravkoBorisov commented 2 years ago

Main differences between SQL and NoSQL databases.

1. SQL databases are vertically scalable in most situations. You’re able to increase the load on a single server by adding more CPU, RAM, or SSD capacity. NoSQL databases are horizontally scalable. You’re able to handle higher traffic by sharding, which adds more servers to your NoSQL database. Horizontal scaling has a greater overall capacity than vertical scaling, making NoSQL databases the preferred choice for large and frequently changing data sets.

2. SQL databases are better for multi-row transactions, while NoSQL is better for unstructured data like documents or JSON.

3. SQL databases use structured query language and have a predefined schema. NoSQL databases have dynamic schemas for unstructured data**