Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(FE) URL Spec #75

Closed
devleejb opened this issue Jan 22, 2024 · 2 comments · Fixed by #98
Closed

(FE) URL Spec #75

devleejb opened this issue Jan 22, 2024 · 2 comments · Fixed by #98
Assignees
Labels
discussion 💭 Need to be discussed
Milestone

Comments

@devleejb
Copy link
Member

devleejb commented Jan 22, 2024

What would you like to be added:

The task involves establishing a clear and comprehensive specification for the URL and slug that users will use to access the frontend.

Why is this needed:

In order to ensure a standardized approach and enhance user experience, it is essential to define the specifications for the URL that users will access on the frontend.

Additional Information:

@devleejb devleejb self-assigned this Jan 22, 2024
@devleejb devleejb added the discussion 💭 Need to be discussed label Jan 22, 2024
@devleejb devleejb added this to the Workspace milestone Jan 22, 2024
@devleejb
Copy link
Member Author

devleejb commented Jan 22, 2024

URL Specification

Login Page: /

  • Note: Consider updating the URL when introducing a landing page in the future.

Workspace Page: /workspace/<workspace_slug>

Workspace Invitation: /join/<join_token>

Document Page: /document/<document_slug>

Shared Document Page: /document/<document_slug>?token=<share_token>

  • Record share_token in the database and plan to log sharing options.

HackMD's URL Specification

Login Page: /login

Workspace Page:

  • Default Workspace created upon signup: /?nav=overview
  • User-created Workspace: /team/<workspace_url>?=nav=overview

Workspace Invitation: /join/<short_random_string>

  • Generate a new short_random_string based on invitation link options (maximum invites, expiration period, etc.).

Document Page: /<document_id>

Shared Document Page:

  • Read: /@<workspace_slug>/<shorter_document_id>
  • Edit: /@<workspace_slug>/<shorter_document_id>/edit

Follow-up Tasks

@devleejb devleejb reopened this Jan 23, 2024
@devleejb
Copy link
Member Author

devleejb commented Jan 24, 2024

New URL Specification

We have defined a new URL specification for the CodePair service, as outlined below:

  • /: Service Main Page
  • /login: Login Page
  • /join/<join_token>: Workspace Invitation
  • /<workspace_name>: Workspace Name
  • /<workspace_name>/<document_id>: Document Detail
  • /<workspace_name>/<document_id>/share?token=<share_token>: Document Detail - Share Mode

Follow-up Tasks

  1. Enhanced User Registration:

    • Introduction of user name input during initial sign-up.
    • Implementation of duplicate checks between workspaces and usernames.
    • Prohibition of reserved keywords (e.g., join, login) for usernames.
  2. Workspace Validation Upon Addition:

    • Inclusion of validation checks when adding a new workspace.
    • Implementation of duplicate checks between workspaces and usernames.
    • Prohibition of reserved keywords (e.g., join, login) for workspace names.
  3. API Enhancement:

    • Transition from using the existing document_slug for API searches to utilizing document_id.
  4. Frontend URL Specification Implementation:

    • Application of the newly defined URL specification to the frontend.

@devleejb devleejb mentioned this issue Jan 24, 2024
2 tasks
@devleejb devleejb linked a pull request Jan 24, 2024 that will close this issue
2 tasks
@devleejb devleejb modified the milestones: Workspace, v0.1.0 Jul 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion 💭 Need to be discussed
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant