-
Notifications
You must be signed in to change notification settings - Fork 39
Description
Problem
Some clients want to create projects using only the project title without requiring users to input a globally unique project name. Currently, both fields must be provided during project creation, which creates friction in the user experience.
Proposed Solution
Implement project name auto-generation in the JS SDK using the format:
{sanitizedproject_title}{md5_hash_of_org_uuid}
Example:
- Project Title:
My Project - Organization UUID:
123e4567-e89b-12d3-a456-426614174000 - Generated Name:
my_project_8f14e45fceea167a5a36deebd9c0e6a1
Why SDK Over Schema Changes
-
Preserves Data Integrity: The globally unique project name constraint is essential for system-wide uniqueness and should remain unchanged at the database level.
-
Backward Compatibility: Existing clients and APIs continue to work without breaking changes. Clients who want to provide explicit names still can.
-
Client-Side Flexibility: Different SDK implementations (JS, Go, Python) can adopt this pattern independently based on their use cases without forcing schema migrations.
-
Separation of Concerns: The uniqueness requirement is a data layer constraint, while the auto-generation is a UX enhancement that belongs in the presentation/SDK layer.
-
No Migration Required: Schema changes would require database migrations across all deployments, while SDK changes can be adopted incrementally.
Benefits
- Improved UX for clients who find project names redundant
- No breaking changes to existing infrastructure
- Maintains data integrity and uniqueness guarantees
- Easy to roll out and test incrementally
- Configurable behavior allows gradual adoption