## Description Implement a simple authentication system that allows users to log in and manage their own PC builds. Authentication should be used to identify who owns each saved or published build, allowing users to retrieve and delete their own builds. To simplify implementation, consider using an existing authentication provider: - **Clerk:** Provides ready-made authentication components and user management. - **Firebase Authentication:** Supports simple Google login and user authentication. - **Supabase Auth:** Provides authentication with good PostgreSQL integration. Evaluate these options and choose the solution that best fits the existing React, GraphQL, and PostgreSQL architecture. ## Acceptance criteria - [ ] Evaluate Clerk, Firebase Authentication, and Supabase Auth. - [ ] Implement a simple login and logout solution. - [ ] Associate saved and published PC builds with the authenticated user's ID. - [ ] Allow users to view and retrieve their own saved builds across sessions. - [ ] Allow users to delete their own builds. - [ ] Ensure users cannot modify or delete builds owned by others. - [ ] Verify authentication and ownership server-side through the GraphQL API. - [ ] Ensure existing builds are handled appropriately when introducing user ownership. ## Dependencies - Database changes to support user ownership of builds. - F-002 – Abuse protection for build publishing (related security improvements).