Refine
Refine is an open-source Retool for Enterprise, helping developers build React-based internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. .
Get started in no time with the Refine template.
Deployment
Learn how to deploy an existing refine app using Genezio, a serverless deployment platform that simplifies app management and reduces costs.
Prerequisites
1. Install genezio
Use your preferred package manager to install Genezio:
- npm
- pnpm
- yarn
npm install genezio -g
pnpm add -g genezio
yarn add global genezio
2. Start from an existing refine template
Create a refine app using the following steps:
Create a Hello World Refine App
1. Fork our refine template repository on GitHub
Go to https://github.com/Genez-io/refine-genezio/fork and fork the repo
2. Clone the newly created repository locally
git clone YOUR_REPO_URL
cd refine-genezio/example-postgres
3. Run the refine App locally
Run the following command to start the refine app:
genezio local
4. Test the refine App locally
Open a web browser and navigate to http://localhost:5173/ to see the app running.
Deploy the app
In your terminal window first stop genezio local
if it was already running, then run the following command to deploy your app to the Genezio cloud:
genezio deploy
You should now see 2 URLs in the terminal window with the following format:
$ App Dashboard URL: https://app.genez.io/project/<project-id>/<stage-id>
$ Frontend URL: https://<subdomain>.app.genez.io
Test your deployed app
Go to the Frontend URL in your browser to test the newly created app.
Understand how your Refine app calls the Genezio backend.
Open the client/src/App.tsx
file and see how the Admin component uses the authProvider and the dataProvider.
You will also see three resources - BlogPosts, Authors and Categories. These frontend resources have backend equivalents in the server/
folder. For example, open the server/Categories.ts
file to see how it's implemented.
Support
We invite you to join our community on Discord for further information and help.
Happy Learning!