Skip to content

# feat: Implement guest database access #194

Description

@ApostolisFalaras

Description

Implement a guest mode that allows users to explore BaseQL without creating an account or signing in.

Guest users should be able to enter the main SQL interface and work with a predefined sample MiniDB database containing representative tables, indexes, and rows. The guest database should be isolated from authenticated user databases and should not expose or modify persistent user data.

The sample database is intended to demonstrate the SQL editor, schema explorer, query results, indexes, and query history using realistic data.

Tasks

  • Add a "Continue as guest" / "Try with sample data" action to the authentication or initial application screen
  • Add guest-mode application state
  • Allow guest users to access the main SQL interface without normal authentication
  • Create or provide a predefined sample MiniDB database
  • Define representative sample schema: Add multiple related tables, Add primary keys, Add secondary indexes where appropriate, Add representative sample rows
  • Automatically open the sample database when guest mode starts
  • Populate the schema explorer from the guest database
  • Allow supported SQL queries to execute against the guest database
  • Display query results and execution feedback normally
  • Clearly indicate that the application is running in guest/sample mode
  • Prevent guest access to authenticated users' databases
  • Prevent guest data from being treated as normal persistent user data
  • Define guest database reset behavior: Restore the original sample database when a guest session starts, or, Recreate/reset the sample database when the guest session ends
  • Add an action for leaving guest mode and returning to authentication
  • Handle guest database initialization errors

Acceptance Criteria

  • Users can enter BaseQL in guest mode without creating an account or signing in.
  • Guest mode automatically provides a usable sample MiniDB database.
  • The sample database contains enough data to demonstrate queries, tables, indexes, and schema metadata.
  • The schema explorer displays the guest database structure.
  • Queries execute through the normal MiniDB query execution pipeline.
  • Guest users cannot access databases belonging to authenticated users.
  • Changes made during guest usage do not permanently modify the original sample dataset unless explicitly intended.
  • The UI clearly identifies when guest mode is active.
  • Users can exit guest mode and return to the authentication page.
  • Guest mode uses the same frontend query/schema components used by authenticated database sessions.

Depends On

  • feat: Implement authentication flow
  • feat: Implement database management UI
  • feat: Implement frontend API service layer
  • feat: Connect frontend to mock backend

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

UI-ReactFrontend UI for DBMSfeatureComponent feature

Projects

  • Status
    Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions