Anonymous
I would have a user model first for general user needs like signing in then I would palso have a user gift model tat links a user to a type of gift and also holds things like perosnality , favotirte colour and interst of the user, based on that a cetgory of gift will be asigned. For exmple a man who likes writing, loves the colour blue will have a gift od staunnary assingned to him. Ofcoiurse in the future optimisations with AI could be included such as a chat bot that could give one the answers but overlall the most important thing is an easy process for the user. I see that in the Addidas website you have a recommendation section based on what a usr chooses on the online shop, somethng like that is a good fit