---
title: Summary
---

import { Sandpack } from "./sandpack.tsx";

<Sandpack>

Congratulations! You've completed the tutorial, learning how to create a CRUD application from scratch using Refine and understanding its basic concepts. With this knowledge, you can now use Refine to develop your own applications without limitations.

We've covered the following topics in this tutorial:

- How to setup a Refine project,
- Essentials of data fetching and mutations,
- Handling authentication and applying it to your data providers,
- Handling routes, navigation and resources,
- Using UI libraries and Refine's built-in components,
- Using Refine's DX tools to improve your development experience.

Refine's features are not limited to these topics and you can find more information about all the features and capabilities of Refine in the [documentation](/docs).

If you encounter any issues or have any questions, feel free to ask in the [Refine Discord](https://discord.gg/refine) or [GitHub Discussions](https://github.com/refinedev/refine/discussions).

</Sandpack>
