3 ms·
This stack is pretty incomplete for most MVPs, as unless you're building something trivial like a landing page, you'll probably at some point also need librarie
by 0xblinq 4y ago
This stack is pretty incomplete for most MVPs, as unless you're building something trivial like a landing page, you'll probably at some point also need libraries or a custom implementation for:
- Validations
- Translations
- Error and request logging and auditing
- Security (CQRS, CORS, CSRF)
- Permissions and a way to integrate it with your authentication (does supabase handle this? don't know)
- Email sending
- Background jobs
- Caching
- File uploading
- Rate limiting
- ...
Every time somebody suggests "just" Next.js, just "Remix", just "flask" or just [insert minimalist framework] I think they're either building something pretty trivial, or wasting a lot of time on rebuilding or integrating things you get for free with batteries included frameworks.
- gardenhedge 4y agoThe post is literally about building an MVP. Remix isn't a minimalist framework - it's a full stack web framework.
- moneywoes 4y agoMaybe next js instead of supabase?
- Rastonbury 4y agoThat stuff isn't "hard" per se, and some of that stuff isn't even needed for a MVP, they're good to haves or only really required when you've got 100s of users (product dependant of course). If the MVP doesn't get there either iterate product or bin it
- 0xblinq 4y agoNone of these are difficult per se. Multiple of them, working seamlessly together, having them tested, documented and battle tested is a bit more difficult. Then you think about all that time doing this could have been spent in actual business logic and it makes no sense to me anymore.
- kiwicopple 4y ago(supabase CEO) We wouldn't be the best fit for all of these, but here are some: - Validations: handled already by Postgres and if you use JSONB you can use pg_jsonschema[0] - Translations: probably won't ever be part of our stack, but for multilingual FTS we offer the pgroonga extension[1] - Permissions: we offer AuthN (email & social logins, MFA, SSO) [2] and AuthZ with Postgres RLS[3] - Background jobs: pg_cron [4] - Caching: For images we have a smart cache [5]. We'll extend this to database queries over time - File uploading: supabase storage [6] [0] pg_jsonschema: https://supabase.com/blog/pg-jsonschema-a-postgres-extension-for-json-validation https://supabase.com/blog/pg-jsonschema-a-postgres-extension... [1] pgroonga: https://pgroonga.github.io/ https://pgroonga.github.io/ [2] AuthN: https://supabase.com/docs/guides/auth/overview https://supabase.com/docs/guides/auth/overview [3] AuthZ with Postgres RLS: https://supabase.com/docs/guides/auth/row-level-security https://supabase.com/docs/guides/auth/row-level-security [4] pg_cron: https://supabase.com/docs/guides/database/extensions/pgcron https://supabase.com/docs/guides/database/extensions/pgcron [5] smart image cache: https://supabase.com/blog/storage-image-resizing-smart-cdn#smart-cdn https://supabase.com/blog/storage-image-resizing-smart-cdn#s... [6] supabase storage: https://supabase.com/storage https://supabase.com/storage
- jrvarela56 4y agoI mean, yeah you need more libraries, but I wouldn't list Formik/mobx/react-i18n/Sendgrid when talking at this level of abstraction.