Salesforce Commerce Cloud ODS Command Center

Overview

ODS Command center

The On Demand Sandbox Command Center is a GUI tool which usessfcc-ci under the hood. It aims to provide a simple interface for running sfcc-ci commands and provide usability improvements for Managers, Developers and other stakeholders.

ODS Command Center Dashboard

Why is this needed?

We have different ways to manage Salesforce B2C Commerce Cloud's On Demand Sandboxes

  1. Swagger API:
  2. Control Center (ODS capabilities coming soon)
  3. SFCC-CI commands

While all of these provides functionality to run operations on ODS(among other things), they don't provide an interface to Monitor, Analyse and Control ODS in a single, easy to use interface.

ODS Command Center is built on React + Node.js, leverages SFCC-CI Javascript API and can be easily deployed on cloud servers.

Features:

  • Login options: 1 Click login using dw.json, login using API key & user credentials
  • Realm Switcher to render dashboard for selected realm
  • Bulk Operations: Restart, Start, Stop all Sandboxes in a realm
  • Individual operation on ODS: Start, Stop, Restart, Reset, Delete
  • Manage Credit History: Add no of credit, Purchase date, Support ticket link for reference, Auto-renewal flag
  • Pie-chart to show Remaning, Uptime, Downtime Credit percent usages
  • Realm Statistics: Active Sandboxes, Credits remaining, Minutes up, Minutes down
  • Details for individual sandbox: Usage history, Operations history, Quick links Minutes up, Minutes down
  • Notification when credit usages hits predefined limit(50%, 75%, 90%).

Upcoming Features:

  • User & Role management, for better logging of operations performed and controlling access.
  • Usage Calculator:
    • Predicts remaining days of usage based on current up/down time and no of sandboxes
    • Calcule usage percentage based on user input of uptime/downtime(taking weekends into consideration), no of sandboxes
  • Upload dw.json through GUI
  • Schedule Start/Stop operations on individual Sandboxes using GUI
  • Graphical representation of Sandbox usage and operations
  • Notification Center:
    • Manage notification settings, turn-on/off.
    • Slack and SMS notifications
    • Manage contacts who should be notified
    • Manage SMTP, SMS configurations through GUI
    • Notifications for critical operations(Delete, Reset Sandboxes)
  • Log file for debbugging
  • Demo mode & Demo site on Heroku using dummy data
  • Caching to avoid frequent API calling
  • Docker container

Getting Started

Prepare

  • Check Prerequisites in SFCC-CI repo to setup your API key and roles. If you still stuck somewhere, I have detailed the steps in this Medium post, please check that.
  • Clone or download this repository
  • Create a dw.json file(or copy sample file from docs/dw.json) and put it in server folder, so that we have server/dw.json.
    • Update dw.json with your API and User credentials.
    • If you are not familiar with the format, please follow above links for this. There will be an option soon to easily upload dw.json through GUI.
  • Copy docs/database.sqlite3 file and put it in server/ folder.
  • Create server/.env and client/.env files using .env.example files in respective folders, update environment variables.
  • Add SMTP details in server/src/routes.js (optional). Alternatively you'll be able to manage this in Notification Center(upcoming)

Running on Local system

  • We would require NPM to be available on local system, recommended Node version is 12.19.0. If you don't have it already installed check installation instruction for NVM(recommended, so that you can easilt manage multiple node versions) or install Node.js through official site
  • Go to <local_folder> and run npm run build, after build process is complete run npm start command.
  • goto localhost:3009 in your web browser.
  • Login using your preferred method.

Running on remote server

You can easily set this up on Heroku or your preferred hosting solution, so that other users can also perform operation, view usage statistics and get notified about relevant information(User & Role management coming soon).

  • Complete the prerequisities.
  • Update client/.env and server/.env with Production details.
  • Upload to server

Credits

ODS Command Center is using SFCC-CI Javascript APIs under the hood and was created for Salesforce Community by

Contributing

Feature requests, Pull requests, Issues or Ideas are always welcome.

License

This software is using MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Additional Images

Login options

login

Sandbox details

sandbox details

You might also like...

shouganaiyo-loader is a cross-platform Frida-based Node.js command-line tool that forces Java processes to load a Java/JVMTI agent regardless of whether or not the JVM has disabled the agent attach API.

shouganaiyo-loader: Forced Entry for Java Agents shouganaiyo-loader is a cross-platform Frida-based Node.js command-line tool that forces Java process

Sep 19, 2022

Start developing LIFF application with a simple CLI command.

@line/create-liff-app Start developing LIFF application with a simple CLI command. About LIFF Templates Getting Started Create LIFF Channel Installati

Nov 10, 2022

Set up a modern web app by running one command.

Create React App Create React apps with no build configuration. Creating an App – How to create a new app. User Guide – How to develop apps bootstrapp

Oct 16, 2022

Set up a modern web app with clean architecture by running one command.

Set up a modern web app with clean architecture by running one command.

Clean React App Create React apps using Clean Architecture with no build configuration. User Guide – How to develop apps bootstrapped with Clean React

Jan 7, 2023

... a contemporary perspective on how to integrate B2C Commerce and the Salesforce Customer 360 Platform to power frictionless customer experiences in the B2C domain.

Salesforce B2C Commerce / Customer 360 Platform Integration Introduction Salesforce B2C Commerce / CRM Sync is an enablement solution designed by Sale

Dec 9, 2022

Tag cloud plugin for jQuery, showing bigger tags in the center

Tag cloud plugin for jQuery, showing bigger tags in the center

jquery.tagcloud v1.2.0 Tag cloud plugin for jQuery, showing bigger tags in the center. Usage There are two ways to define a tag cloud: Use ul and li H

Jun 30, 2022

Projeto Integrador Motive foi desenvolvido sobe a ODS 3 da ONU, a onde elaboramos uma desafiadora missão de como fazer um mundo melhor até 2030

A progressive Node.js framework for building efficient and scalable server-side applications. Description Nest framework TypeScript starter repository

Dec 13, 2022

Avocano is a sample dropship/fake product website with Cloud Run, Cloud SQL and Cloud Build

Avocano is a sample dropship/fake product website with Cloud Run, Cloud SQL and Cloud Build

Avocano - A Fake Product Website Avocano is a sample dropship/fake product website, combining: Firebase Hosting front end, written with Lit, Cloud Run

Dec 9, 2022

A dashboard for managing orders and inventory for a wordpress e-commerce site which has woo commerce plugin installed

A dashboard for managing orders and inventory for a wordpress e-commerce site which has woo commerce plugin installed

WordPressWooCommerceDashboard - A dashboard for managing orders and inventory for a wordpress e-commerce site which has woo commerce plugin installed. This program provides shipping tracking for Delhivery.

Jan 3, 2022

Salesforce Lightning Design System

Salesforce Lightning Design System Welcome to the source code repository for Salesforce Lightning Design System, brought to you by Salesforce UX. SLDS

Dec 29, 2022

Get updates in Telegram when a vaccination center available in your pin code. We can win Covid 🤝

Cowin Bot Get updates in Telegram when an vaccination center available in your pin code. We can win Covid 🤝 Commands: /start - Start the Bot /help -

Oct 3, 2022

Check Your Nearest Vaccination Center And Slots Availability using pincode and district name.

Check Your Nearest Vaccination Center And Slots Availability using pincode and district name.

Vaccine Tracker Application - Pan India 💉 Website • Playstore made with ♥ for the people of India DevIncept is an 30 day open source program helping

Nov 3, 2022

Functions Recipes is a library of examples to help you getting started with Salesforce Functions and get used to their main features.

Functions Recipes is a library of examples to help you getting started with Salesforce Functions and get used to their main features.

Functions Recipes Introduction Salesforce Functions lets you use the Salesforce Platform for building event-driven, elastically scalable apps and expe

Dec 29, 2022

Sample app that shows how to integrate Salesforce with Slack.

Sample app that shows how to integrate Salesforce with Slack.

Ready to Fly Sample app to showcase Slack + Salesforce integrations. This app has been created using the Salesforce Slack Starter Kit. For a detailed

Dec 16, 2022

You can detect requested client full IP details with this package. (isp, organization, location, residential/data center, proxy, etc)

requested client ip details Install the package npm npm install @sarequl/client-ip-details yarn yarn add @sarequl/client-ip-details example with expr

Oct 13, 2022

Your center for health applications ❤️📝

Your center for health applications ❤️📝

❤️ Health Center Health Center is an app that puts you in one place to use health-related calculation tools! 🔧 Tech stack React create-react-app styl

Aug 24, 2022

EveryAuth is the easiest way for your app to access APIs like Slack, Salesforce, or Github.

EveryAuth EveryAuth is the easiest way for your app to access APIs like Slack, Salesforce, or Github. import everyauth from "@fusebit/everyauth-expres

Dec 12, 2022

TDX 22: Advanced Salesforce Functions

TDX 22: Advanced Salesforce Functions

Route Planner with Charging Stations Architecture Apex Utility Classes Salesforce Schema Deployment Instructions Create a Scratch Org sfdx force:org:c

Nov 22, 2022

Block Library Primitives by Pew Research Center

A starting point for anyone looking to add functionality, extra control to and or create your own custom block library using core/blocks. Built with easier extensibility in mind

Nov 5, 2022
Comments
  • randomInt is not a function

    randomInt is not a function

    Thanks for this, it's amazing! I was trying to run it locally and I keep getting this error when trying to authenticate, any ideas? I was able to replace randomInt with Math.random and it works. image

    opened by asecaida 3
  • Move toast message to middle

    Move toast message to middle

    Since the menu is located on the top right, when you get multiple messages it is impossible to use the menu.

    Since the pages refresh at the moment and the realm selection is lost, this is quite "annoying".

    So I moved the toasts to the top middle to mitigate that issue.

    opened by taurgis 0
Owner
Sachin Upmanyu
Sachin Upmanyu
Check Your Nearest Vaccination Center And Slots Availability using pincode and district name.

Vaccine Tracker Application - Pan India ?? Website • Playstore made with ♥ for the people of India DevIncept is an 30 day open source program helping

sameer srivastava 67 Nov 3, 2022
HTML CSS & React - Client side dynamic e-commerce website (stripe integrated)

Furniture E-Commerce Project Description React front-end full operating dynamic and responsive E-Commerce shop including payment connection (stripe) B

Almog Wertzberger 15 Dec 27, 2022
Its Amazon-like E-commerce store is called shopping-spree!

Its Amazon-like E-commerce store is called shopping-spree! The technologies used for this Project are React.js Frame work Next.js, MongoDB For Database, Mongoose, Material UI and JWT for Authentication Functions and Context API for managing the state Across the Application! where I've Implemented many Functionalities like ADD to Cart, Login, Register, with Next-Authentication, Shipping Screen, Order Details Screen, and Check-out Screen and UPdate the Profile Section Page!

null 1 Dec 18, 2021
E-commerce project using Next.js

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Mix Sirapat 1 Jan 5, 2022
An e-commerce web application for Taytay Thrift Market with store-owner Inventory system.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Aj Candelaria 5 Apr 30, 2022
Youtube clone with react and google cloud youtube API😊🤘

Getting Started with Create React App This project was bootstrapped with Create React App. UI / Demo Available Scripts In the project directory, you c

Ashutosh Mohanty 5 Apr 14, 2022
Set up a modern web app by running one command.

Create React App Create React apps with no build configuration. Creating an App – How to create a new app. User Guide – How to develop apps bootstrapp

Facebook 98.4k Jan 1, 2023
🌈 React for interactive command-line apps

React for CLIs. Build and test your CLI output using components. Ink provides the same component-based UI building experience that React offers in the

Vadim Demedes 19.7k Jan 3, 2023
Fill the boring catsalud covid vaccine form with a console command

vacunacovid-catsalud-autofullfill form Fill the boring catsalud covid vaccine form with a console command Manual use, pasting in the script in the con

null 18 Jul 27, 2021
This command line helps you create components, pages and even redux implementation for your react project

react-help-create This command line helps you create components, pages and even redux implementation for your react project. How to install it? To ins

Omar 27 Dec 10, 2022