denoland / saaskit Goto Github PK
View Code? Open in Web Editor NEWA modern SaaS template built on Fresh.
Home Page: https://deno.com/saaskit
License: MIT License
A modern SaaS template built on Fresh.
Home Page: https://deno.com/saaskit
License: MIT License
Issue when trying to sign up locally, any ideas?
An error occurred during route handling or page rendering. {
code: "42501",
details: null,
hint: null,
message: 'new row violates row-level security policy for table "customers"'
}
It should enable CRUD operations such as edit and delete functionality on items, users, etc.
See the Discord discussion.
Describe the bug A clear and concise description of what the bug is.
When running npx supabase start
from the setup guide, I get: Error: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
To Reproduce Steps to reproduce the behavior:
.env.example
to .env
npx supabase start
Expected behavior A clear and concise description of what you expected to
happen.
The setup guide should state all setup dependencies.
Screenshots If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context Add any other context about the problem here.
It's essential that we, as maintainers and users, understand the reasons behind our design decisions. I'd like to include notes on these design decisions and architectural details in the codebase. We can do so via JSDoc comments within the code or in the README. I'm leaning towards JSDoc comments right now. Either way, aspects worth talking about include the following:
basically make the readme very thorough and cover:
what this is (marketing copy)
how to get started/setup
links to deno.com/blog, deno.com/saaskit, relevant youtube videos, discord if they're stuck
direct users to issues for feedback
This issue exists as a continually growing roadmap for SaaSKit. The eventual goal is to provide a framework where developers can launch a SaaS app in a single afternoon (aka cloning this repo, making the necessary adjustments in the code, and then deploying it). Here are items that I think we'll need to get there.
Open to discussion as well, so feel free to leave your thoughts below.
Hi, I'm using SaaSKit
. It's a brilliant example of what I'm looking to do with Deno. Thanks for the great work!!
Getting this error 500 internal error: Cannot read properties of null (reading 'email') while signup.
Auth
looks good in my configured Supabse but the customers
table is empty.
The error occurred during this line because of empty user
data.
Maybe it's an issue from Supabase?
To enable OpenGraph descriptions, pictures etc. we should also add the most important meta tags to the blog landing and post pages. What do you think?
#11 mistakenly made the dashboard sidebar nav menu links not clickable in the entire area where there is a hover effect.
No warning is shown on the UI when the user tries to sign up using a password with less than 6 characters
There is currently a proper Error URL (http://localhost:8000/signup?error=Password%20should%20be%20at%20least%206%20characters), but the signup route doesn't handle it well.
On the signup round there is already a place to handle errors, but it's currently only handling the "User already registered" error
{errorMessage === "User already registered" && (
{errorMessage}
)}
Let's make these comments non-nested to begin with. We can implement nested comments in the future if there's enough demand.
It'd be nice to have a showcase similar to Fresh's or Deno's for projects that somehow use building blocks from Deno SaaSKit. Such projects would offer further examples of how Deno SaaSKit can be customized, chopped and changed to suit different needs.
I think we'll have to have a minimum of 3 projects to start. First in, best dressed.
The manage subscription shows the customer portal when it should provide subscription options.
Spec:
redirect(path: string, status: 300 | 301...) => Response
Todo: explain the basics of theme customization by example and explanation.
They should return HTTP status code 400 if the server receives a bad request, such as the email and password not being strings.
See here.
If I cancel a subscription from Stripe, I'm seeing
Event type not supported: customer.subscription.updated
Does that need to be handled, or is it only customer.subscription.deleted
that matters? Presumably, when the subscription period has ended, customer.subscription.deleted
is then sent, even if the sub was already cancelled. If so, I guess this makes sense!
This flag is required to avoid long startup times due to this upstream issue. Once the upstream problem is fixed, the flag can be removed.
I'm closing this as we're moving away from the to-do-based app.
Describe the bug
in the demo, https://saaskit.deno.dev, if you auth via github, you are redirected to localhost:3000
To Reproduce Steps to reproduce the behavior:
Expected behavior
You should end up on https://saaskit.deno.dev/dashboard.
Screenshots If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Chrome
In the root README.md, it has steps to do in Supabase, and it seems like those changes happen in two different dashboards. There's a local server (is it a local instance of Supabase?) at http://localhost:54323
with a Supabase dashboard, and I guess there's a dashboard representing the Supabase account we just set up.
The documentation is very vague about which thing to do where. It suggests that tables are set up in the local dashboard, but then goes on to describe steps that presumably can only happen in app.supabase.com
because that's the only place where those menu items exist (like for authentication).
Can you please say which steps to do locally, and which steps to do remotely, since they are two very similar dashboards?
Spec:
extract()
from std/front_matter
to read post properties.I know a blog feed is on the roadmap (https://github.com/orgs/denoland/projects/35?pane=issue&itemId=22944835), but I was wondering what the internal project specifications are.
Would they be in markdown? Would it integrate with popular CMS offerings?
This also opens up some bigger discussions surrounding who saaskit is for. If we decide to go with markdown, can a non-technical content manager write a blog post?
Is your feature request related to a problem? Please describe.
would be cool to scaffold a SaaSKit project with a command like:
deno run -A -r https://deno.com/saaskit my-project
see Fresh for example:
https://github.com/denoland/fresh/blob/main/www/routes/index.tsx#L15
https://github.com/denoland/fresh/blob/main/init.ts
Describe the solution you'd like A clear and concise description of what you
want to happen.
also this script doesn't need to be on deno.com/saaskit... it could be something else. saaskit.deno.dev? open to ideas.
Is your feature request related to a problem? Please describe.
would love to have a dedicated home for SaaSKit specific documentation. i think deno.com/saaskit/docs is a good place. the docs would cover everything from getting setup to how to extend functionality.
Describe the solution you'd like A clear and concise description of what you
want to happen.
here's a loose outline. we can do it similar to https://deno.com/deploy/docs
i tried to be exhaustive in the below outline but some of those sections currently may not be pertinent (e.g. organizations). i think we start small and add as we go.
- Getting Setup
- Introduction
- Cloning the Repo
- Running locally
- Configuration
- Global constants
- Architecture
- Where everything is and why
- How to structure your SaaS app
- Data model
- Authentication
- Supabase Configuration
- Adding new authentication strategies
- Database and APIs
- Connecting to a database
- Writing data
- Fetching data
- Uploading blob data
- Development
- Useful `deno task` commands
- Contributing to SaaSKit
- link to Deno style guide
- Payments
- Configuring Stripe
- One Time Payments
- Stripe Webhooks
- Organizations
- Introduction
- Extending Organizations
- Permissions
- Themes
- Extending current theme with Tailwind
- Adding your own UI kit to Fresh
- Creating your own theme
- Testing
- Writing and Running Tests
- Deployment
- Deno Deploy
- Any VPS via Docker
thoughts?
#106 is missing a dynamic header menu. Currently, it doesn't change depending on whether the user is logged in. Spec:
#106 is missing upvote functionality. This can be done by having the โฒ be a button that sends a fetch request to /api/vote
once clicked, where a table row will be created in a votes
table. The votes
table will have two columns, user_id
and item_id
. The rest is self-explanatory.
The status of this button will correlate to whether there is a match for both the logged-in user and the current item ID in the votes
table.
The main feed should also sort by amount of votes, from most to least, and display each item's score.
An example of twind@1
working can be seen here.
Is your feature request related to a problem? Please describe.
The blog, including the index and individual posts, has meta tags, which are a strong base for future meta tags support but are manually written.
Describe the solution you'd like
A <Meta />
component that can be reused anywhere on the website.
Additional context
Spec:
<Meta />
component with reasonable defaults and properties such as title
, description
, etc.So we can know how it can be used
Like https://github.com/denoland/fresh/blob/main/.github/workflows/lighthouse.yml
This'll ensure the project stays mostly performant.
Is your feature request related to a problem? Please describe.
Currently, type errors fall through the cracks in CI.
Describe the solution you'd like
A new step in the current CI that uses deno check main.ts
or similar.
If I'm logged in already, I think http://localhost:8000/login
should redirect.
This change must address:
This can be a unique username or a non-unique display name for each user. It's worth ignoring what Hacker News or Product Hunt does here and instead asking which is better.
We should use a new table if it's to be a unique username. If it's to be a non-unique display name, it might be better to come from the user_metadata
object.
I'd like to hear some thoughts.
CC @lambtron and @thorwebdev
After setting up a new project following the README
i found that not setting the STRIPE_PREMIUM_PLAN_PRICE_ID
in constants.ts
to my created premium plan resulting in the following error:
Server error
500 internal error: No such price: 'price_1MPiEkD6QJts4RaYcp1SevPe'
The price id mentioned is the one that is preconfigured in the constants.ts
. Maybe updating the Customizing Deno SaaSKit
section in README
to give a heads up might help preventing this error.
However setting the mentioned STRIPE_PREMIUM_PLAN_PRICE_ID
variable to an empty string ""
in constants.ts
will result in a differend error:
500 internal error: You passed an empty string for 'line_items[0][price]'. We assume empty values are an attempt to unset a parameter; however 'line_items[0][price]' cannot be unset. You should remove 'line_items[0][price]' from your request or supply a non-empty value.
So first I would suggest updating the README
to make sure that a new starter can find the solution there.
in github repos that show a public roadmap, where is that usually put? projects? discussion? we should add one and link to it often.
Created accidentally. Closing.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.