# MagicJS

## MagicJS

- [Introduction to MagicJS](https://skyslit.gitbook.io/magicjs/introduction-to-magicjs.md): MagicJS is an open-source full stack JavaScript / TypeScript framework for building web applications, SaaS products and business tools.
- [Why MagicJS?](https://skyslit.gitbook.io/magicjs/why-magicjs.md): Build Faster, Together: Why MagicJS is Your Future-Proof Framework
- [Getting Started & Installation](https://skyslit.gitbook.io/magicjs/getting-started-and-installation.md): This page provides guidance on installing and using our framework in both offline and online IDEs.
- [Create a new page using React](https://skyslit.gitbook.io/magicjs/basic-guide/create-a-new-page-using-react.md): In this tutorial, you will learn how to create a new page and seamlessly integrate it into the admin console using MagicJS framework.
- [Navigate between pages](https://skyslit.gitbook.io/magicjs/basic-guide/navigate-between-pages.md): In this tutorial, we'll explore how to navigate between two pages within the MagicJS framework and utilize route parameters for dynamic page rendering.
- [Create an API and integrate it with the frontend](https://skyslit.gitbook.io/magicjs/basic-guide/create-an-api-and-integrate-it-with-the-frontend.md): In this tutorial, we will guide you through the process of creating a backend file and seamlessly integrating it with a frontend file using MagicJS.
- [Authenticate Users](https://skyslit.gitbook.io/magicjs/basic-guide/authenticate-users.md): In this tutorial, we'll explore how to authenticate users and set up conditional rendering for components using MagicJS.
- [Authorise based on Roles](https://skyslit.gitbook.io/magicjs/basic-guide/authenticate-users/authorise-based-on-roles.md): In this tutorial, we will explore how to implement user role authentication within your MagicJS application.
- [Advanced State Management with useContent()](https://skyslit.gitbook.io/magicjs/basic-guide/advanced-state-management-with-usecontent.md): In this tutorial, we delve into the intricacies of advanced state management within forms using MagicJS's useContent() hook.
- [Perform CRUD Operations](https://skyslit.gitbook.io/magicjs/basic-guide/perform-crud-operations.md): In this tutorial, we will explore how to perform CRUD (Create, Read, Update, Delete) operations using MagicJS, enabling seamless interaction with a backend database.
- [Adding Realtime capabilities using socket](https://skyslit.gitbook.io/magicjs/basic-guide/adding-realtime-capabilities-using-socket.md): In this tutorial, we'll learn how to implement real-time messaging capabilities using MagicJS.
- [Handling file uploads and downloads](https://skyslit.gitbook.io/magicjs/basic-guide/handling-file-uploads-and-downloads.md): In this guide, we will learn how to upload and view a file.
- [Understanding the concept of features in MagicJS](https://skyslit.gitbook.io/magicjs/advanced-guide/understanding-the-concept-of-features-in-magicjs.md): Magic features are toolkits that empower developers to effortlessly add complex functionalities to their projects, promoting reusability, efficiency, and flexibility in development.
- [Using UI components & functions across multiple Magic Features](https://skyslit.gitbook.io/magicjs/advanced-guide/using-ui-components-and-functions-across-multiple-magic-features.md)
- [Advanced Routing of pages](https://skyslit.gitbook.io/magicjs/advanced-guide/advanced-routing-of-pages.md)
- [Enable SSR](https://skyslit.gitbook.io/magicjs/advanced-guide/enable-ssr.md): Enabling Server-Side-Rendering (SSR) is a simple process, and this documentation will guide you through the necessary steps.
- [Access MongoDB](https://skyslit.gitbook.io/magicjs/advanced-guide/access-mongodb.md): Access and view a MongoDB database online using a temporary credentials.
- [Styling pages using Tailwind CSS](https://skyslit.gitbook.io/magicjs/advanced-guide/styling-pages-using-tailwind-css.md)
- [Deploying](https://skyslit.gitbook.io/magicjs/deploying.md): This guide will walk you through the process of deploying a MagicJS project.
- [Update MagicJS](https://skyslit.gitbook.io/magicjs/update-magicjs.md): Optimize your app with the latest MagicJS versions for improved performance.
- [Frontend](https://skyslit.gitbook.io/magicjs/api-references/frontend.md): API reference in MagicJS serves as a detailed guide to the various functions, components, hooks, and other features that MagicJS offers for building user interfaces.
- [\<LinkDisplay>](https://skyslit.gitbook.io/magicjs/api-references/frontend/less-than-linkdisplay-greater-than.md): LinkDisplay is employed for seamless navigation between pages.
- [createSrc() ](https://skyslit.gitbook.io/magicjs/api-references/frontend/createsrc.md): createSrc function is used for reading the uploaded file.
- [createUploader() ](https://skyslit.gitbook.io/magicjs/api-references/frontend/createuploader.md): createUploader is a function that simplifies file uploads for users.
- [importUI() ](https://skyslit.gitbook.io/magicjs/api-references/frontend/importui.md): The importUI function simplifies UI component imports using aliases from a JSON configuration, promoting a modular and organized project structure for improved code manageability.
- [loadConfig() ](https://skyslit.gitbook.io/magicjs/api-references/frontend/loadconfig.md): loadConfig centralizes JSON config retrieval, streamlining backend access with robust error handling for graceful responses in cases of missing values, ensuring enhanced reliability.
- [protected()](https://skyslit.gitbook.io/magicjs/api-references/frontend/protected.md): The Protected component enhances security by restricting access to authorized users, safeguarding sensitive content visibility for authenticated users.
- [useParams() ](https://skyslit.gitbook.io/magicjs/api-references/frontend/useparams.md): The useParams function in React lets you effortlessly get and use parameters from the current URL, acting like a magic key to unlock dynamic aspects of your application's URLs.
- [useAxios()   ](https://skyslit.gitbook.io/magicjs/api-references/frontend/useaxios.md)
- [useLogin() ](https://skyslit.gitbook.io/magicjs/api-references/frontend/uselogin.md): useLogin function serves for authentication, retrieving details like whether the current user is authenticated, their information, and also includes the functionality for logging out.
- [useSocket() ](https://skyslit.gitbook.io/magicjs/api-references/frontend/usesocket.md): useSocket function is like a walkie-talkie for websites, letting servers and clients chat back and forth in real-time.
- [useContent()](https://skyslit.gitbook.io/magicjs/api-references/frontend/usecontent.md): We can effectively handle data management through the utilization of useContent().
- [usePromise()](https://skyslit.gitbook.io/magicjs/api-references/frontend/usepromise.md): The usePromise() hook simplifies handling asynchronous operations by managing the state of a Promise-based function.
- [useNotification()](https://skyslit.gitbook.io/magicjs/api-references/frontend/usenotification.md)
- [Backend](https://skyslit.gitbook.io/magicjs/api-references/backend.md)
- [createBackendFunction() ](https://skyslit.gitbook.io/magicjs/api-references/backend/createbackendfunction.md)
- [data()](https://skyslit.gitbook.io/magicjs/api-references/backend/data.md)
- [io() ](https://skyslit.gitbook.io/magicjs/api-references/backend/io.md)
- [ServerInstance()](https://skyslit.gitbook.io/magicjs/api-references/backend/serverinstance.md)
- [utils](https://skyslit.gitbook.io/magicjs/api-references/backend/utils.md): The 'utils' module contains many handy functions, each serving a specific purpose to make the system work better.
- [hash()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/hash.md)
- [verifyHash()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/verifyhash.md)
- [initiateEmailVerification()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/initiateemailverification.md)
- [saveFileToUserUploads()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/savefiletouseruploads.md)
- [readFileFromUserUploads()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/readfilefromuseruploads.md)
- [removeFileFromUserUploads()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/removefilefromuseruploads.md)
- [assignRoleToUser()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/assignroletouser.md)
- [unassignRoleFromUser()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/unassignrolefromuser.md)
- [findAllRolesByUser()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/findallrolesbyuser.md)
- [isUserInAnyRoles()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/isuserinanyroles.md)
- [assignRoleToUser()](https://skyslit.gitbook.io/magicjs/api-references/backend/utils/assignroletouser-1.md)
