Git Product home page Git Product logo

sf-dictionator's Introduction

Salesforce Data Dictionary Generator

Salesforce Data Dictionary Generator

๐Ÿ‘‹ Introduction

A Web-Based tool for generating Salesforce Data Dictionary supported with Oath2 Salesforce Authentication. This tool will help Salesforce Developer/Administrator to visualize their Schema Object field's pre-selected important attributes rather than visiting Salesforce Object Manager. It can export multiple schema objects to excel with fancy cell color and a Datatable for viewing the selected Schema Object.

Tech Stack:

๐Ÿ“ท Screen Shots

Alt text

Figure 1 - Duel Picklist

Alt text

Figure 2 - SObject Datatable

Alt text

Figure 3 - Exported Excel File

โšก๏ธ One-click Deployment to your own Vercel Account

Using the Vercel Deploy Button, you can quickly deploy this project into your own Vercel Account.

Deploy with Vercel

After clicking the Deploy button above, it will redirect to your Vercel Account, you'll see similar to the following screen shot bellow.

  1. Vercel will ask you to link your Github, Gitlab or Bitbucket. In this demo it uses Github, then populate the Repository Name and click Create. Alt text

  2. Next, it will proceed on setting up the Environment Variables needed to this project to run smoothly, then click Deploy Alt text

๐Ÿง‘โ€๐Ÿ”ง Pre-Work

Create Connected App in Salesforce

  1. Log in to Salesforce as an administrator.

  2. In the drop-down list of the account (in the upper-right corner), select Setup.

  3. In the left-hand pane, go to App Setup > Create >Apps.

  4. In the Connected Apps pane, click the New button.

  5. On the New Connected App page, fill the following required fields under Basic Information:

    • Connected App Name. For example, SF-Dictionator Demo.
    • API name. For example, SF-Dictionator Demo.
    • Contact Email.
  6. Go to API (Enable OAuth Settings), and select Enable OAuth Settings.

    • In the Callback URL field, enter http://localhost:3000/api/auth/callback/salesforce and https://YOUR_VERCEL_APP_URL/api/auth/callback/salesforce.

    • In the Selected OAuth Scopes field, for this demo I added all available scope. In your end you can only select Access and manage your data (api), and then click Add.

      Alt text

  7. Click the Save button to save the new Connected App.

  8. In the Connected Apps list, find the App that you just created, and then click Manage.

    • On the page that opens, click the Edit button.
    • Under OAuth policies, select All users may self-authorize in the Permitted Users list, and then click the Save button.
  9. Go back to the Connected Apps list, and click the App that you just created.

  10. Go to API (Enable OAuth Settings), and note down the Consumer Key and Consumer Secret, which will be used for the configuration of Environment Variables.

๐Ÿง‘โ€๐Ÿ’ป Environment Variables

For local installation, create .env.local in root folder of the project.

SALESFORCE_CLIENT_ID=YOUR_CLIENT_KEY
SALESFORCE_CLIENT_SECRET=YOUR_SECRET_KEY
SALESFORCE_URL_LOGIN=https://login.salesforce.com

NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=YOUR_NEXTAUTH_SECRET

To generate NextAuth Secret you can use this app: https://generate-secret.vercel.app/32

๐Ÿ›‘ Security

How is your token being used or stored?

On this tool, your token is not stored in any databases. With the use of Next-Auth after the Salesforce Authenticate the user, using JWT provided by the Next-Auth only the token is used, and the session with a maximum TTL of 2 hours.

How can we keep the user still log in after 2 hours straight with active session?

By using Refresh Rotation Strategy and refresh the token with a 15 minutes buffer time before the expiration of the token.

โšก๏ธ Local Machine Installation

Before firing up the project make sure you already set your Environment Variables.

git clone https://github.com/pelayochristian/sf-dictionator.git
cd sf-dictionator
npm install

For Development, run the below command.

npm run dev

For running the Production Ready package, run the below command.

npm run build && npm run start

Open http://localhost:3000 with your browser to see the result.

sf-dictionator's People

Contributors

pelayochristian avatar

Stargazers

 avatar

Watchers

 avatar

sf-dictionator's Issues

Unable to connect to Sandboxes

I tried to build a data dictionary based on a sandbox (test.salesforce.com), but when I changed the URL to test.salesforce.com, it still redirected to the same page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.