Как лучше запоминать оценки пользователя?
Не экономьте на спичках. Дергайте базу) + кэширование
при посещении уже оцененного проекта ему показывалась оценка, которую он уже ставил ранееЕсли оценок не сильно много, то все оценки по проекту можно хранить в самом проекте, тогда не будет лишних запросов на чтение для этого.
(Ну или наоборот, если пользователи лайкают редко, тогда все оценки хранить в пользователе).
Все остальные варианты видимо потребуют доп. запросов.