FoodDesk - Online Food Delivery Admin Dashboard

FoodDesk - Online Food Delivery Admin Dashboard

FoodDesk

FoodDesk - Online Food Delivery Admin Dashboard

FoodDesk is a popular open source WebApp template for admin dashboards and admin panels. It utilizes all of the react-bootstrap components in design and re-styles many commonly used plugins to create a consistent design that can be used as a user interface for backend applications.

Thank you for purchasing this React template.

If you like this template, Please support us by rating this template with 5 stars


React.JS Installation & Setup -

1.- Install npm

It will create 'node_module' folder in this all dependency files will be install with this command. npm install

npm install

2.- Run Project

With is command file will be compiled and it will be loaded on local server `http://localhost:3000`. npm start

npm start

3.- Production Build

Builds the app for production to the `build` folder. Run the following command in your terminal. npm run build

npm run build

4.- Note:

To get more help on the React.js checkout React

4.- Further help

You can learn more in the Create React App Documentation To learn React, check out the React Documentation.


Sass Compile -

1.- Install Node.js

To compile Sass via the command line first, we need to install node.js. The easiest way is downloading it from the official website nodejs.org open the package and follow the wizard.

2.- Initialize NPM

NPM is the Node Package Manager for JavaScript. NPM makes it easy to install and uninstall third party packages. To initialize a Sass project with NPM, open your terminal and CD (change directory) to your project folder.

npm init

Once in the correct folder, run the command npm init. You will be prompted to answer several questions about the project, after which NPM will generate a package.json file in your folder.

3.- Install Node-Sass

Node-sass is an NPM package that compiles Sass to CSS (which it does very quickly too). To install node-sass run the following command in your terminal: npm install node-sass

npm install node-sass

4.- Write Node-sass Command

Everything is ready to write a small script in order to compile Sass. Open the package.json file in a code editor. You will see something like this:

In the scripts section add an scss command

"scripts": {
  "sass": "node-sass --watch src/scss/main.scss src/css/style.css --source-map src/css/style.css.map"
},

5.- Run the Script

To execute our one-line script, we need to run the following command in the terminal: npm run sass

npm run sass

Folder Directories -

  • public
    • index.html
  • src
    • context
      • ThemeContext.js
      • ThemeDemo.js
    • css
    • icons
      • avasta
      • bootstrap-icons
      • feather
      • flaticon
      • fontawesome
      • helveticaNeue
      • icomoon
      • line-awesome
      • material-design-iconic-font
      • simple-line-icons
      • themify-icons
    • images
      • avatar
      • big
      • browser
      • card
      • contact
      • coures
      • customers
      • demo
      • pattern
      • product
      • profile
      • tab
      • table
    • jsx
      • components
        • AppsMenu
        • bootstrap
        • charts
        • chatBox
        • Dashboard
        • Forms
        • PluginsMenu
        • table
      • layouts
        • nav
          • Header.js
          • NavHader.js
          • SideBar.js
        • ChatBox
        • EventSidebar.js
        • Footer.js
        • PageTitle.js
        • Setting.js
      • pages
        • Error400.js
        • Error403.js
        • Error404.js
        • Error500.js
        • Error503.js
        • ForgotPassword.js
        • LockScreen.js
        • Login.js
        • Registration.js
        • Widget.js
      • index.js
    • scss
      • abstracts
      • base
      • components
        • app
        • charts
        • forms
        • ico
        • map
        • tables
        • uc
        • ui
        • widget
      • layout
        • footer
        • header
        • rtl
        • sidebar
        • theme
        • typography
        • version-dark
        • version-transparent
      • pages
      • main.scss
    • services
      • AuthService.js
      • AxiosInstance.js
      • PostsService.js
    • store
      • actions
      • reducers
      • selectors
      • store.js
    • vendor
      • animate
      • aos
      • bootstrap-select
      • bootstrap-v4-rtl
      • deznav
      • metismenu
      • perfect-scrollbar
      • swiper
    • App.js
    • index.js
  • package.json

Theme Features -

Layout is controlled by settings object LayoutSettings inside src/context/ThemeContext.js

import React, { createContext, useEffect, useState } from "react";
const ThemeContextProvider = (props) => {    
    useEffect(() => {
	const body = document.querySelector("body");
        body.setAttribute("data-typography", "poppins");
        body.setAttribute("data-theme-version", "light");  // light, dark
        body.setAttribute("data-layout", "vertical");
        body.setAttribute("data-nav-headerbg", "color_3");
        body.setAttribute("data-headerbg", "color_3");
        body.setAttribute("data-sidebar-style", "full");
        body.setAttribute("data-sibebarbg", "color_1");
        body.setAttribute("data-sidebar-position", "fixed");
        body.setAttribute("data-header-position", "fixed");
        body.setAttribute("data-container", "wide");
	    body.setAttribute("data-primary", "color_1");
        body.setAttribute("direction", "ltr"); 

        resizeWindow();
        window.addEventListener("resize", resizeWindow);
        return () => window.removeEventListener("resize", resizeWindow);
      }, []);
      return (
        <ThemeContext.Provider
          value={{
            body,
          }}
    >
      {props.children}
    </ThemeContext.Provider>
  );
};

export default ThemeContextProvider;

useEffect(() => {
  const body = document.querySelector("body");
  body.setAttribute("data-typography", "poppins");
  body.setAttribute("data-theme-version", "light");
  body.setAttribute("data-layout", "vertical");
  body.setAttribute("data-nav-headerbg", "color_3");
  body.setAttribute("data-headerbg", "color_3");
  body.setAttribute("data-sidebar-style", "full");
  body.setAttribute("data-sibebarbg", "color_1");
  body.setAttribute("data-sidebar-position", "fixed");
  body.setAttribute("data-header-position", "fixed");
  body.setAttribute("data-container", "wide");
  body.setAttribute("data-primary", "color_1");
  body.setAttribute("direction", "ltr"); 
}, []);

Color Theme -

So many color option available

  • color_1
  • color_2
  • color_3
  • color_4
  • color_5
  • color_6
  • color_7
  • color_8
  • color_9
  • color_10
  • color_11
  • color_12
  • color_13
  • color_14
  • color_15
useEffect(() => {
  const body = document.querySelector("body");
  body.setAttribute("data-typography", "poppins");
  body.setAttribute("data-theme-version", "light");
  body.setAttribute("data-layout", "horizontal");
  body.setAttribute("data-nav-headerbg", "color_1");
  body.setAttribute("data-headerbg", "color_1");
  body.setAttribute("data-sidebar-style", "full");
  body.setAttribute("data-sibebarbg", "color_6");
  body.setAttribute("data-sidebar-position", "fixed");
  body.setAttribute("data-header-position", "fixed");
  body.setAttribute("data-container", "wide");
  body.setAttribute("data-primary", "color_7");
  body.setAttribute("direction", "ltr"); 
}, []);
useEffect(() => {
  const body = document.querySelector("body");
  body.setAttribute("data-typography", "poppins");
  body.setAttribute("data-theme-version", "light");
  body.setAttribute("data-layout", "horizontal");
  body.setAttribute("data-nav-headerbg", "color_2");
  body.setAttribute("data-headerbg", "color_2");
  body.setAttribute("data-sidebar-style", "full");
  body.setAttribute("data-sibebarbg", "color_1");
  body.setAttribute("data-sidebar-position", "fixed");
  body.setAttribute("data-header-position", "fixed");
  body.setAttribute("data-container", "boxed");
  body.setAttribute("data-primary", "color_2");
  body.setAttribute("direction", "ltr"); 
}, []);
useEffect(() => {
  const body = document.querySelector("body");
  body.setAttribute("data-typography", "poppins");
  body.setAttribute("data-theme-version", "light");
  body.setAttribute("data-layout", "vertical");
  body.setAttribute("data-nav-headerbg", "color_8");
  body.setAttribute("data-headerbg", "color_1");
  body.setAttribute("data-sidebar-style", "full");
  body.setAttribute("data-sibebarbg", "color_1");
  body.setAttribute("data-sidebar-position", "fixed");
  body.setAttribute("data-header-position", "fixed");
  body.setAttribute("data-container", "wide");
  body.setAttribute("data-primary", "color_8");
  body.setAttribute("direction", "ltr"); 
}, []);
useEffect(() => {
  const body = document.querySelector("body");
  body.setAttribute("data-typography", "poppins");
  body.setAttribute("data-theme-version", "light");
  body.setAttribute("data-layout", "vertical");
  body.setAttribute("data-nav-headerbg", "color_9");
  body.setAttribute("data-headerbg", "color_1");	
  body.setAttribute("data-sidebar-style", "full");
  body.setAttribute("data-sibebarbg", "color_9");
  body.setAttribute("data-sidebar-position", "fixed");
  body.setAttribute("data-header-position", "fixed");
  body.setAttribute("data-container", "wide");
  body.setAttribute("data-primary", "color_9");
  body.setAttribute("direction", "ltr"); 
}, []);

useEffect(() => {
  const body = document.querySelector("body");
  body.setAttribute("data-typography", "poppins");
  body.setAttribute("data-theme-version", "light");
  body.setAttribute("data-layout", "vertical");
  body.setAttribute("data-nav-headerbg", "color_4");
  body.setAttribute("data-headerbg", "color_1");
  body.setAttribute("data-sidebar-style", "mini");
  body.setAttribute("data-sibebarbg", "color_4");
  body.setAttribute("data-sidebar-position", "fixed");
  body.setAttribute("data-header-position", "fixed");
  body.setAttribute("data-container", "wide");
  body.setAttribute("data-primary", "color_4");
  body.setAttribute("direction", "ltr"); 
}, []);
useEffect(() => {
  const body = document.querySelector("body");
  body.setAttribute("data-typography", "poppins");
  body.setAttribute("data-theme-version", "light");
  body.setAttribute("data-layout", "vertical");
  body.setAttribute("data-nav-headerbg", "color_9");
  body.setAttribute("data-headerbg", "color_1");
  body.setAttribute("data-sidebar-style", "full");
  body.setAttribute("data-sibebarbg", "color_9");
  body.setAttribute("data-sidebar-position", "fixed");
  body.setAttribute("data-header-position", "fixed");
  body.setAttribute("data-container", "wide");
  body.setAttribute("data-primary", "color_9");
  body.setAttribute("direction", "ltr"); 
}, []);
useEffect(() => {
  const body = document.querySelector("body");
  body.setAttribute("data-typography", "poppins");
  body.setAttribute("data-theme-version", "light");
  body.setAttribute("data-layout", "vertical");
  body.setAttribute("data-nav-headerbg", "color_7");
  body.setAttribute("data-headerbg", "color_10");
  body.setAttribute("data-sidebar-style", "full");
  body.setAttribute("data-sibebarbg", "color_1");
  body.setAttribute("data-sidebar-position", "fixed");
  body.setAttribute("data-header-position", "fixed");
  body.setAttribute("data-container", "wide");
  body.setAttribute("data-primary", "color_7");
  body.setAttribute("direction", "ltr"); 
}, []);
  useEffect(() => {
	const body = document.querySelector("body");
	body.setAttribute("data-typography", "poppins");
	body.setAttribute("data-theme-version", "light");
	body.setAttribute("data-layout", "vertical");
	body.setAttribute("data-nav-headerbg", "color_3");
	body.setAttribute("data-headerbg", "color_3");
	body.setAttribute("data-sidebar-style", "full");
	body.setAttribute("data-sibebarbg", "color_1");
	body.setAttribute("data-sidebar-position", "fixed");
	body.setAttribute("data-header-position", "fixed");
	body.setAttribute("data-container", "wide");
	body.setAttribute("data-primary", "color_1");
	body.setAttribute("direction", "ltr"); 
  }, []);
  

Credits -


Project Main Features -

  • Redux
  • Bootstrap
  • Built in SASS
  • Fully Responsive
  • Ready to used widget
  • Detailed Documentation
  • Attractive Calendar
  • Invoice
  • User Profile
  • Timeline
  • CkEditor
  • Form Examples
  • Many Charts Options
  • Form Validation
  • Input Slider
  • Advanced Form Elements
  • Form Wizard
  • Social
  • Bootstrap
  • Datatable
  • Table Sorting
  • React Table
  • Date Picker
  • Sweetalert
  • Toaster
  • Lightbox
  • Scroll
  • Router

Index.js Structure

import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App";
import reportWebVitals from './reportWebVitals';
import { BrowserRouter } from 'react-router-dom';
import {Provider} from 'react-redux';
import {store} from './store/store';
import  ThemeContext  from "./context/ThemeContext"; 

ReactDOM.render(
   <React.StrictMode>
	<Provider store = {store}>            
	 <BrowserRouter basename='/react/demo'>
	  <ThemeContext>
	   <App/>
	  </ThemeContext> 
	 </BrowserRouter>            
    </Provider>	
   </React.StrictMode>,
  document.getElementById("root")
);
reportWebVitals();

Create a Page

import React from "react";

export function MyPage() {
  return(
   <h1>Hello!</h1>
  ) 
} 							
					

Do You Need Help To Customization

After Purchase A Template...

You Will Start Customizing According Your Requirement
BUT What If You Don't Know

SOLUTION IS HIRE DexignLabs

Hire Same Team For Quality Customization

  • We Will Customize Template According To Your Requirement
  • We Will Upload On Server And Make Sure Your Website is Live

Version History -

15 December 2022

  • New - Created & Upload FoodDesk