Base solution for your next web application
Open Closed

Best way to store user history #10550


User avatar
0
Ricavir created
  • ABP 6.4
  • .NET 5
  • Angular 12

Hi support team !

I'm wondering how to implement an efficient way to provide to the user its last app history. Ex : the user opens a product page ; then the history list adds an item like "Product page XXX opened"

I don't want this kind of history for all entities, just for some of them (the main ones).

Currently, I'm looking at following implementations : 1 - localstorage : pros > perfomant and avoid server side load. cons > available only locally (not shared) 2 - dedicated entity : pros > history saved globaly. cons > needs to refactored some app services. Can increase traffic on server

What is your advice ? Do you see any other implementation with abp framework ?


2 Answer(s)
  • User Avatar
    0
    musa.demir created

    Hi @ricavir

    Audit logs stores all user's history. You can check user and see what they do:

    If want you need is store all user interaction on your website(like where users clicks, where they stop to looked, their mouse tracking data etc.) there are a lot of tracking tools for that. For example you can use Google Analytics' tracking tools. Example list: https://www.hotjar.com/website-tracking/tools/. You can check them and see which one is best for you.

  • User Avatar
    0
    Ricavir created

    Hi @musa.demir

    Thanks for your answer. I have not considered audit logging table because it is very slow. I have more than 4 Million records and queries are very long and sometimes firing exceptions due to timeout.

    But you are right, I can already grab this information from database and this is out of the box.

    I will try to find a solution to delete some records from audit table periodically and see if performance is better.

    I will follow this issue : https://github.com/aspnetzero/aspnet-zero-core/issues/2898