This widget is the gateway for third parties to access the savings and borrowing products of Tropykus in few lines of codes
This project was built using ReactJS v18.2 and it works as a widget that can be rendered using simple HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Tropykus Widget</title>
<!-- Your code -->
</head>
<body>
<!-- ... Your code ... -->
<!-- You can add custom styles for the container-->
<style>
.widget-container {
border: 1px solid #ccc;
padding: 10px;
margin-bottom: 20px;
}
</style>
<div class="widget-container">
<div id="root"></div>
<!-- The widget will mount here -->
<script
type="module"
src="https://unpkg.com/tropykus-widget/dist/standalone/main.js"
></script>
</div>
<!-- ... Your code ... -->
</body>
</html>
Install the widget ussing npm
npm install tropykus-widget
In the destination app import the widget and render it:
import TropykusWidget from 'tropykus-widget'
function App() {
return (
<>
{/* Rest of your code ... */}
<TropykusWidget />
{/* ... Rest of your code */}
Tropykus team will provide you with a CLIENT_ID, an API_KEY and an API_AUTH_URL so you can get an Auth Token that you will have to pass it as a parameter in the TropykusWidget Component: This is an example using React:
import axios from 'axios'
//@ts-expect-error Types not ready yet
import TropykusWidget from '@tropykus/tropykus-widget'
import { useEffect, useState} from 'react'
function App() {
const [token, setToken] = useState('')
const API_KEY= import.meta.env.VITE_WIDGET_API_KEY
const CLIENT_ID= import.meta.env.VITE_WIDGET_CLIENT_ID
const API_AUTH_URL= import.meta.env.VITE_WIDGET_API_AUTH_URL
useEffect(() => {
const clientToken= async()=>{
const res = await axios.post( API_AUTH_URL,
{apiKey: API_KEY,
clientId: CLIENT_ID})
setToken(res.data.token)
}
clientToken()
}, [API_AUTH_URL, API_KEY, CLIENT_ID])
return (
<>
<TropykusWidget token={token}/>
</>
)
}
For a custom configuration please contact the Tropykus team at contact@tropykus.com
Run units tests locally with any of these commands:
npm run test
npm run test-verbose
Every time a PR is opened from any branch to "develop", tests are performed automatically