Grove Portal UI implements the interface for Grove's users and customers at portal.grove.city/.
This portal allows users to manage their Grove services, subscriptions, configurations and more.
Run the following to see helpers to get you started:
make todosUse the 1Password CLI:
op item get c5cretuyeauiubm3uaqojdy4zm --fields notesPlain --format json | jq -r '.value' > .envOr download .env from 1Password
If the link ☝️ doesn't work for you, look for a file named Grove Portal - Portal UI - .env (PROD)
make portal_install_and_run- Visit http://localhost:3000
Run with Remix
- Test Locally: Test your changes locally before creating a PR.
- Test in Preview: Push your feature branch and create a PR. CD will automatically deploy via Vercel to a preview environment
- Deploy to PROD: Create a PR into
main. CD will automatically deploy to https://portal.grove.city/. - Test in Main: Test your changes in the main environment to ensure everything is working as expected.
Make sure to get the .env from 1password.
You can download it with the following command if you have the 1password CLI:
op item get c5cretuyeauiubm3uaqojdy4zm --fields notesPlain --format json | jq -r '.value' > .envIf the link ☝️ doesn't work for you, look for a file named Grove Portal - Portal UI - .env (PROD)
To run your Remix app locally, make sure your project's local dependencies are installed:
pnpm installThen, built:
pnpm buildAfterwards, start the Remix development server like so:
pnpm devOpen up http://localhost:3000 and you should be ready to go!
The default .env uses the PRODUCTION environment backend.
If you'd like to test in a NON-PRODUCTION environment, run the backend on localhost:4200.
A template .env can be found at .env.template
If you're testing the Stripe webhook flow, you must use the Stripe CLI to forward the webhook to your local environment.
Full instructions can be found on the Stripe documentation page.
You must initialize the Stripe CLI with your Stripe account:
stripe loginThen run the following to start forwarding webhooks:
source .env
stripe listen --forward-to http://localhost:3000/api/stripe/webhook --live=falseYou will be given a webhook signing secret, set it in your .env file as STRIPE_WEBHOOK_SECRET.
IMPORTANT: It is generally recommended to use the test mode Stripe API key for forwarding webhooks, as this will not create any real subscriptions or charge any real money.
NOTE: The webhook handling code in this repo can be found here.
