Refine is an open-source Next.js development kit that enables rapid development of flexible React-based CRUD applications. It eliminates repetitive tasks and offers industry-standard solutions for critical aspects such as authentication, access control, routing, networking, state management, and i18n. Refine is headless, allowing for unlimited styling and customization options.

Begin headless, refine allows developers to use any data recourse, many backend headless CMS and systems, low-code and no-code systems, and allows them several authentication services.

Instead of being a limited set of pre-styled components, refine is a collection of helper hooks, components, and providers. They are all decoupled from UI components and business logic, so that they never keep you from customizing your UI or coding your own flow.

It is an ideal solution to build admin panels, eCommerce solutions, dashboards, dynamic forms, and more.

refine comes with 15+ data connectors that include: REST API, Supabase, Strapi (REST API, and GraphQL), Firebase, Directus, and Appwrite.

Features

  • 🌐 SSR support with Next.js or Remix
  • 🔍 Auto-generated CRUD UIs from your API data structure
  • ⚛ Perfect state management & mutations with React Query
  • 🔀 Advanced routing with any router library of your choice
  • 🔐 Providers for seamless authentication and access control flows
  • ⚡ Out-of-the-box support for live / real-time applications
  • 📄 Easy audit logs & document versioning
  • 💬 Support for any i18n framework
  • 💪 Future-proof, robust architecture
  • ⌛️ Built-in CLI with time-saving features
  • ✅ Full test coverage

Get started

To create a project, all is required is create refine-app, which will get your project ready, then you can run it as any Next.js app:

npm create refine-app@latest -- -o refine-antd

npm run dev

refine comes with Ant Design System as the default UI framework, however, you can any other UI kit of your choosing.

License

refine is released under the MIT license.

Resources