DEV Community

Discussion on: Remix SaaS kit v0.0.1 - QuickStart & Core Concepts

Collapse
 
iamluisj profile image
Luis Juarez

Hello! The kit is really cool, some great components implemented and overall a great example of the power of Remix.

A few things I found confusing:

  1. Here you use npm, but in the readme you use yarn. I had issues trying to install dependencies with npm so I switched to yarn and that seemed to work.
  2. Would be great if you can reduce the amount of required env "dependencies" - meaning that most environment variables should be blank if the feature is not being used. A great kit should let you run npm run dev right out of the box and see a working example. In this case, adding a stripe key, formspree and postmark info, I still had some issues getting it up and running. (note: I would recommend using a validator function as a flag that turns off features if missing the environment variable)
  3. Would love more info on the template, I'm still a bit lost how the tenants/workspaces tie together.

Again, really cool project, and neat components. I think a few tweaks could make this a great go to kit.

Collapse
 
alexandromtzg profile image
Alexandro Martinez

I’m glad you liked it! 😁

  1. It think you need Node >= 16 if you’re using npm. I have no problem on my environment, here’s a video with npm (I had to comment the app/utils/email.server.ts file, as you specify in your sencond point). Maybe you could tell me your node and npm versions to replicate this issue 🤔.

  2. Agree that it’s ugly when things are hard-coded or so dependent on a specific third party 😓; for now, you could find and delete all sendEmail(…) calls. Although, I think it kinda defeats the purpose of SaaS if you don’t start with Postmark/SendGrid/Supabase emails/etc…, since you need an email provider to recover your password, even if you’re just testing on a local environment with an SQLite database. Nevertheless I already finished a skeleton version on the private repo (which also deletes the Workspaces concept), will commit it this weekend, after most of these issues are resolved (only for paid users though).

  3. I’m being mentored by Chris Kluis. One of the things he tells me, is just this. Tenants and Workspaces are confusing, it shouldn’t be shown to the end user, it’s more of a Database layer to separate data. I’m working on this, but to give you an idea, a Tenant is an organization, and a Workspace could be a: Project, Department, Branch… let’s say it’s a Project. Now all your contracts depend on the Tenant AND Workspace your currently in. But yeah, I’m realizing it’s very confusing, I'll try my best to clarify the concept on the next release.

Thanks again your your comments!