Closed tiniscule closed 11 months ago
This is currently in progress here if anyone is interested in following along https://github.com/usebasejump/basejump/pull/31
Looks great! The headless approach is nice, I've been cobbling together some things from DaisyUI and HeadlessUI/Tailwind. One other thing that looks cool is inviting team members by email.
This is now live! Working on the react components over the basejump-js repo.
In an effort to make Basejump more useful to people and remove some of the dependency on Next, I'm looking at converting it into a selection of UI components and rpc functions that can be used in any language / framework.
Goals
appearance
prop as Supabase AuthUIUI Components
Instead of a full starter template, Basejump would provide a set of UI components that make creating and managing accounts easy. As your startup scales, you could take control over the UI components by creating your own using the API endpoints in the next section.
All components are customized using the same
appearance
prop as Supabase AuthUI. This allows you to customize the look and feel of the components to match your application.Account Switcher
Account Settings
Shows an account overview, members and invitations. Let's you create new invitations
Account Billing
Shows the current billing status and allows you to change the plan
Account Status Bar
Shows a banner if account status is inactive or delinquent. Allows user to correct the issue.
Account Pricing Plans
Shows a list of available pricing plans and allows user to select one
Abstracting away the data model
Proposing that we clean up the
public
tables and move them into thebasejump
schema. Only editable tables would remain, such asprofiles
and a new table calledaccount_settings
. This would allow us to hide away the accounts/members/invitations functionality.accounts
,account_users
,invitations
,billing_subscriptions
,billing_customers
tables tobasejump
schema and out ofpublic
account_settings
table inpublic
schema for changeable account informationRPC / Edge Functions
Loading accounts for the current user
Loading a single account
Creating an account
Create a new account. The current user will be automatically added as the primary account owner
Invite account member
Invite a new member to an existing account.
Accept an account invitation
Allows a user to accept an invitation by providing their invitation token.
Update account member role
Allows an account owner to update the role of a member. If the current user is the primary owner, the owner can also transfer ownership to another member.
Account billing status
Returns the current billing status of an account
Available billing plans
Returns available billing plans