Dashboard is a VueJS application that is the face of Frappe Cloud. This is what the end users (tenants) see and manage their FC stuff in. The tenants does not have access to the desk, so, this is their dashboard for managing sites, apps, updates etc.
Technologies at the heart of dashboard:
-
VueJS 3: The JavaScript framework of our choice.
-
TailwindCSS 3: We love it.
-
ViteJS: Build tooling for dev server and build command.
-
Feather Icons: Those Shiny & Crisp Open Source icons.
We use the vite's development server, gives us super-fast hot reload and more.
Run:
yarn run dev
Note: If you are getting
CSRFTokenError
in your local development machine, please add the following key value pair in your site_cofig.json"ignore_csrf": 1
While running the vite dev server, the requests to paths like /app
, /files
and /api
are redirected to the actual site inside the bench. This makes sure these paths and other backend API keep working properly. You can check the proxyOptions.js files to check how the proxying happens. These options are then loaded and used in the vite config file.
There is a separate setup for testing the frontend.
yarn run test
The tests run in CI too.
You can start by taking a look at the main.js file. This is where the VueJS app is initialzed and the below things are attached (registered) to the instance:
- Vue Router
- Plugins
- Controllers
- Global Components
The logic to register each of the above is in its own separate file, you can take a look at the imports as required. Till we have a more docs, you have to dig into some js
and vue
files. If you find something that you can add here, feel free to raise a PR!