### Goal Allow users to create an account and log in. Store user data in MongoDB through the backend’s GraphQL API. ### Tasks - [x] Add GraphQL mutations for registration and login. - [x] Store usernames and password hashes in a users collection in the artex database. - [x] Hash passwords before storing them. Never store passwords in plain text. - [x] Handle registration attempts with a username that already exists. - [x] Connect the form in frontend/src/pages/login.tsx to the GraphQL mutations. - [x] Show clear messages for errors and successful registration or login. ### Acceptance criteria - A user can register through the frontend. - After registration, the user appears in MongoDB’s artex.users collection. - The stored password is hashed and not readable as plain text. - A user can log in with the correct password. - Login shows a clear error message if the username or password is incorrect.