drazomo / syncfusionDash

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Syncfusion Dashboard


Overview πŸ‘“

Source code of the Syncfusion Dashboard An all-in-one dashboard with functionality only for the frontend.


Features ✨✨✨

The features of Syncfusion Dashboard are -
⭐ Display User Dashboard based pages:
πŸ‘¨β€πŸ« Ecommerce/Homepage: Overview of financial expenses and earnings
πŸ‘¨β€πŸ« Orders: keep track of clients' orders
πŸ‘¨β€πŸ« Employees: keep track of employees statuses
πŸ‘¨β€πŸ« Customers: user is able to keep track of clients' information
πŸ‘¨β€πŸ« Navbar for managing carts, messages, notifications, and user information

⭐ Display various interactive applications (non-backend):
πŸ“† Calendar
βœ… Kanban
πŸ“ƒ Word Editor
🎨 Color Picker

⭐ Display various interactive demos of charts and graphs:
πŸ“Š Line
πŸ“Š Area
πŸ“Š Bar
πŸ“Š Pie
πŸ“Š Financial
πŸ“Š Color-Mapping

Optimizations πŸ”§πŸ”§πŸ”§

βš™ If scaling the application, and implementing more global contexts, it is best to provide different Providers and memoize them in order to improve performance and reduce the rerendering of data with every interaction of the webpage. ex) closing and opening sidebar and rerendering the entire global context state.

βš™ Although this is a front-end demo application, it can be a CRUD when adding a backend server and database

βš™ Earnings section and theme settings can not sync with switch between light and dark modes.

If you like to contribute any features, fix bugs, or optimize a current feature, my contact information is listed bellow the readme.md πŸ˜ƒ


Dependencies πŸ“¦πŸ“¦πŸ“¦

The list of dependencies used in the frontend are :

'@syncfusion/ej2': version : '^19.4.48'
'@syncfusion/ej2-react-calendars': version : '^19.4.48'
'@syncfusion/ej2-react-charts': version : '^19.4.50'
'@syncfusion/ej2-react-dropdowns': version : "'19.4.52'
'@syncfusion/ej2-react-grids': version : '^19.4.50'
'@syncfusion/ej2-react-inputs': version : '^19.4.52'
'@syncfusion/ej2-react-kanban': version : '^19.4.48'
'@syncfusion/ej2-react-popups': version : '^19.4.52'
'@syncfusion/ej2-react-richtexteditor': version : '^19.4.50'
'@syncfusion/ej2-react-schedule': version : '^19.4.50'
'react-icons'
'react-router-dom'
'typescript'

The list of dependencies used for code quality and test are :

'@typescript-eslint/eslint-plugin'
'@typescript-eslint/parser'
'autoprefixer'
'eslint'
'eslint-config-airbnb'
'eslint-config-airbnb-typescript'
'eslint-config-prettier'
'eslint-plugin-import'
'eslint-plugin-jsx-a11y'
'eslint-plugin-react'
'eslint-plugin-react-hooks'
'lint-staged'
'postcss'
'prettier'
'tailwindcss'

How to run πŸš€πŸš€πŸš€

  • First, copy the url of this project
  • Then open your terminal on your local computer and -
    • navigate to the location you want to create the project in (eg - home or c:/)
    • enter the command git clone <url-of-this-project>. Alternatively, you can provide the name of the folder you want git to clone the project to with git clone <url-of-this-project> <name-of-folder>
    • cd into the project folder

npm install
npm start

Lessons Learned 🏫🏫🏫

βœ… exporting import defaults using index.tsx @pages & @components
βœ… ctrl/cmd + w => to close current tabs on VS Code
βœ… ctrl + β–Ά => move to next whitespace
βœ… resolving ts module errors using index.d.ts
βœ… Context TS Types => PropsWithChildren
βœ… The object passed as the value prop to the Context provider (at line 29) changes every render. To fix this consider wrapping it in a useMemo hook. => useMemo to avoid rerender when the values haven't been changed
βœ… using eventListeners to determine mobile resizing or if browser resizes ('resize', window.innerWidth)

Where to find more πŸ“žπŸ’»πŸ“§

Personal Website: https://markrasavong.com/
Syncfusion Dashboard Repository: https://github.com/MarkRasavong/syncfusionDash
My Github Repositories: https://github.com/MarkRasavong?tab=repositories
Email: rasavong.mark@gmail.com
Mobile / WhatsApp: +34 666 996 519

About


Languages

Language:TypeScript 96.9%Language:HTML 1.1%Language:JavaScript 1.1%Language:CSS 0.9%