Last visited universities
Backend:
- Create an intermediate model (LastVisitedUniversity) between the user and university models
- This model contains 3 fields : one for user (foreign key) , one for university (foreign key) and one for lastClickOnUniversity (DateTimeField: auto_now = True)
- Create a viewset to update the previous model when a user looks at a university (get inspired by https://gitlab.utc.fr/rex-dri/rex-dri/-/blob/dev/backend/backend_app/viewsets.py#L316).
Endpoint: /lastVisitedUniversities
req POST endpoint/<pk_univ> => Create LastVisitedUniversity(user=req.user, university=University.get(pk=<pk_univ>), ts=now())
req GET endpoint => return List[LastVisitedUniversity.where(user=req.user).orderby(ts DESC).first(5)] (list[int] === List[<pk_univ>])
SQL:
SELECT university, max(ts) as ts
FROM LastVisitedUniversity
WHERE
USER = <req.user.pk>
GROUP BY university
ORDER BY ts DESC
LIMIT 5;
other => Return 404
Frontend:
- When visiting university: make POST request (https://gitlab.utc.fr/rex-dri/rex-dri/-/blob/dev/frontend/src/components/recommendation/view/View.jsx#L676 use the useApiCreate() hook)
- Create component to show last visited univ (and mention REX-DRI private)