Мое приложение позволит пользователям понравиться или не понравиться продукт и оставить краткий отзыв.Я должен сделать функциональность, которая будет отображать график и создавать отчет на основе разных временных рамок, возможно, это будет год, месяц, неделя и день.
Я должен показать, сколько пользователей понравилось или не понравилось продуктом в определенный промежуток времени, через график и сгенерировать отчет.Таким образом, мое приложение должно создавать дневной график за август 2018 или месячный график за 2018 год по конкретному продукту.График должен показывать, сколько пользователей понравилось или не понравилось продукту ежедневно, если это график дня. Аналогично, это может быть недельный, месячный или годовой период времени
Я не уверен, какой должна быть база данных.структура для этого типа приложения?Вот что я до сих пор думал.
products: id, name, descp...etc // products table
users: id, name, email ...etc // users table
user_reactions: id, user_id(foreign key), product_id(foreign key), action(liked or disliked, tinyint), feedback // user_reactions table
data: id, product_id(foreign key), date(Y-m-d), total_like, total_dislike. // data table, will be used to make graph and report
Я думаю, что я буду запускать задание cron в 23:59:59 каждый день, чтобы подсчитывать симпатии и нелюбовь каждого продукта и воли.добавьте данные в последнюю таблицу, т.е. таблицу data
, как указано выше, и затем используйте эту таблицу data
для составления графика и отчета.Я не уверен, что эта структура базы данных правильная или в ней есть какая-то невидимая проблема (может быть, в будущем?)
Примечание: Мое приложение будет в PHP
и MySQL