white-label
white-label copied to clipboard
Full-stack monorepo with Remix & Effect-TS
White Label
This is a "white-label" project I wanted to create to test various ideas. It's a full-stack Typescript app, powered by Remix.
Technologies
- Remix
- PNPM
- Effect-TS
- RadixUI
- Zapatos
As for the rest, I'll be using PostgreSQL
, with the idea of dockerizing it all and deploying on Digital Ocean. Postmark was also very reliable in the past for me, so this would be my SMTP service of choice. For the dev environment, I use Mailtrap.
As for the design approach, I don't use any specific (like DDD), although I try to make it as flexible as possible.
Goals & Features
Teams
Users can belong to many organizations and can have different roles in each. Here's a great article about that decision, called Teams should be an MVP feature!. In short, even the most trivial SASS app will find a need down the road. I worked on a start-up years ago, that wanted to introduce Teams (and Billing) after years of operation and it was super painful. It's a relatively small change early on that can eliminate a ton of complexity in the future.
Membership Invitations
Essential when using Teams. Send invites, assign roles, accept, revoke, decline, etc.
Multi-tenancy
That's a big one. I have no idea how to do this, so seems like the ideal task to pick up.
Billing
I would like to work with Paddle on this one. A Team can have different plans, with different limits each.
2FA & PassKeys
2FA is standard, and Passkeys are the new hotness. Some resources on them.
... other stuff
More ideas will be added in the GitHub Projects tab, where I'll be tracking everything.
Testing
- The Back-end will have tests for each use-case with Vitest
- The Front-end will test everything with React-testing-library
- There will be a 3rd package, called
e2e
which will test both
License
MIT