diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4afe386..7c2a304 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,14 +1,41 @@ Thanks so much for considering contributing to Open SaaS ๐Ÿ™ +## Considerations before Contributing + +### General Considerations +1. If there's something you'd like to add, and the issue doesn't already exist, create a new one and assign yourself to it. Wait until we've agreed on a plan of action before beginning your work. +2. If the issue does already exist, and noone is assigned to it, assign yourself and feel free to begin working on it. + +### How Users Get the Starter Template + +We currently have two ways to pull the template: +1. the `use this template` button on the [repo homepage](https://github.com/wasp-lang/open-saas) +2. the [Wasp CLI's](https://wasp-lang.dev/docs/quick-start) `wasp new` command + +When pulling the template via `wasp new`, the Wasp CLI looks for a tag `wasp-{CURRENT_VERSION}-template` associated with a specific commit on the Open SaaS repo. + +In order to keep this tag up to date, we've created a github action, `.github/workflows/retag-commit.yml`, that automatically reassigns the tag (defined as `TAG_NAME` in the action) to the most recent commit on `main`. + +**This means, that whenever a user pulls the template, they are getting the version present in the most recent commit on `main`** + +Also, If we update Wasp to a new major version, we should also update the `TAG_NAME` in the action. + +### The Default Template vs. the Deployed Site / Docs + +There are two main branches for development: +- `main` +- `deployed-version` + +The default, clean template that users get when cloning the starter lives on `main`, while `deployed-version` is what you see when you go to [OpenSaaS.sh](https://opensaas.sh) and the [docs](https://docs.opensaas.sh) + +If you want to make changes to the default starter template, base feature branches and Pull Requests off of `main` +If you want to make changes to the OpenSaaS.sh site or it's Documentation, base feature branches and Pull Requests off of `deployed-version` + ## How to contribute Contributing is simple: 1. Make sure you've installed and run the app. 2. Find something you'd like to work on. Check out the [issues](https://github.com/wasp-lang/open-saas/issues) or contact us on the [Wasp Discord](https://discord.gg/aCamt5wCpS) to discuss. -3. If the issue doesn't already exist, create a new one and assign yourself to it. -4. Create a new branch for your work. -5. Make your changes. -6. Commit your changes. -7. Push your changes. -8. Create a pull request. -9. Pray to "Da Boi" while you wait for us to review your PR. -10. If you don't know who "Da Boi" is, head back to the [Wasp Discord](https://discord.gg/aCamt5wCpS) and ask around. \ No newline at end of file +3. Create a new feature branch for your work. See [above](#the-default-template-vs-the-deployed-site--docs) for which branch to base your feature branch off of. +4. Create a pull request. +5. Make a "Da Boi" meme while you wait for us to review your PR. +6. If you don't know who "Da Boi" is, head back to the [Wasp Discord](https://discord.gg/aCamt5wCpS) and find out :) \ No newline at end of file diff --git a/README.md b/README.md index 23cb75b..d5026f1 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,38 @@ Because we're using Wasp as the full-stack framework, we can leverage a lot of i You also get access to Wasp's diverse, helpful community if you get stuck or need help. - ๐Ÿค [Wasp Discord](https://discord.gg/aCamt5wCpS) +## Getting Started +### Simple Instructions + +First, to install the latest version of [Wasp](https://wasp.sh/) on macOS, Linux, or Windows with WSL, run the following command: +```bash +curl -sSL https://get.wasp-lang.dev/installer.sh | sh +``` + +Then, create a new SaaS app with the following command: + +```bash +wasp new -t saas +``` + +This will clone a **clean copy of the Open SaaS template** into a new directory, and you can start building your SaaS app right away! + +### Detailed Instructions + +For everything you need to know about getting started and using this template, check out the [Open SaaS Docs](https://docs.opensaas.sh). + +We've documented everything in great detail, including installation instructions, pulling updates to the template, guides for integrating services, SEO, deployment, and more. ๐Ÿš€ + +## Changes & Contributions Note that we've tried to get as many of the core features of a SaaS app into this template as possible, but there still might be some missing features or functionality. We could always use some help tying up loose ends, so consider [contributing](https://github.com/wasp-lang/open-saas/blob/main/CONTRIBUTING.md)! + +As there are a few things to know and consider when contributing, please make sure to read the [CONTRIBUTING.md](https://github.com/wasp-lang/open-saas/blob/main/CONTRIBUTING.md) in this Repo. + +## Getting Help & Providing Feedback + +There are two ways to get help or provide feedback (and we try to always respond quickly!): +1. [Open an issue](https://github.com/wasp-lang/open-saas/issues) +2. [Wasp Discord](https://discord.gg/aCamt5wCpS) -- please direct questions to the #๐Ÿ™‹questions forum channel diff --git a/app/.env.server.example b/app/.env.server.example index 7f99181..7c00e73 100644 --- a/app/.env.server.example +++ b/app/.env.server.example @@ -5,9 +5,10 @@ # for testing, go to https://dashboard.stripe.com/test/apikeys and get a test stripe key that starts with "sk_test_..." STRIPE_KEY=sk_test_... -# to create a test subscription, go to https://dashboard.stripe.com/test/products and click on + Add Product +# to create a test product, go to https://dashboard.stripe.com/test/products and click on + Add Product HOBBY_SUBSCRIPTION_PRICE_ID=price_... PRO_SUBSCRIPTION_PRICE_ID=price_... +CREDITS_PRICE_ID=price_... # after downloading starting the stripe cli (https://stripe.com/docs/stripe-cli) with `stripe listen --forward-to localhost:3001/stripe-webhook` it will output your signing secret STRIPE_WEBHOOK_SECRET=whsec_... diff --git a/app/src/client/app/AccountPage.tsx b/app/src/client/app/AccountPage.tsx index fe83a72..8db115b 100644 --- a/app/src/client/app/AccountPage.tsx +++ b/app/src/client/app/AccountPage.tsx @@ -73,7 +73,7 @@ export default function AccountPage({ user }: { user: User }) { function BuyMoreButton() { return (
- + Buy More/Upgrade
diff --git a/app/src/client/app/PricingPage.tsx b/app/src/client/app/PricingPage.tsx index 7013a67..bcf651f 100644 --- a/app/src/client/app/PricingPage.tsx +++ b/app/src/client/app/PricingPage.tsx @@ -10,24 +10,24 @@ export const tiers = [ { name: 'Hobby', id: TierIds.HOBBY, - priceMonthly: '$9.99', + price: '$9.99', description: 'All you need to get started', features: ['Limited monthly usage', 'Basic support'], }, { name: 'Pro', id: TierIds.PRO, - priceMonthly: '$19.99', + price: '$19.99', description: 'Our most popular plan', features: ['Unlimited monthly usage', 'Priority customer support'], bestDeal: true, }, { - name: 'Enterprise', - id: TierIds.ENTERPRISE, - priceMonthly: '$500', - description: 'Big business means big money', - features: ['Unlimited monthly usage', '24/7 customer support', 'Advanced analytics'], + name: '10 Credits', + id: TierIds.CREDITS, + price: '$9.99', + description: 'One-time purchase of 10 credits for your account', + features: ['Use credits for e.g. OpenAI API calls', 'No expiration date'], }, ]; @@ -100,10 +100,10 @@ const PricingPage = () => {

{tier.description}

- - {tier.priceMonthly} + {tier.price} + + {tier.id !== TierIds.CREDITS && '/month'} - /month