Projects
Here are some of the projects I've worked on.
Some of these projects are a work in progress.
Keap Client - A TypeScript API Client for Keap (Infusionsoft)
The Keap Client is a fully featured, lightweight API client designed to simplify the process of integrating with Keap's (Infusionsoft) REST API. This package provides a convenient interface for developers who want to interact with Keap's resources, including contacts, opportunities, invoices, and more, while abstracting away the complexities of direct API calls.
Key Features:
- Full TypeScript Support: Written in TypeScript, ensuring strong typing and autocompletion for a smooth development experience.
- Customizable Options: Easily configurable timeout and retry logic to ensure requests are resilient and adaptable to different environments.
- Simplified API Calls: Predefined methods to interact with common Keap endpoints, such as retrieving and managing contacts, opportunities, products, and invoices.
- Error Handling: Built-in mechanisms for managing API errors and retries, ensuring that developers can focus on business logic rather than low-level API details.
Example Usage:
import { KeapClient } from 'keap-client';
let apiKey = 'Your_api_key', //your api key from Keap/infusionsoft (REQUIRED)
requestTimeout = 3000, // the time limit to wait for a response from the api (OPTIONAL)
retries = 3; // amount of retries you want the api to do if the request failed (OPTIONAL)
//requestTimeout and retries are optional
const keap = new KeapClient({ apiKey, requestTimeout, retries })
// each model
const contact = await keap.Contact.getContact(1);
// use the instance
contact.update({ email_opted_in: true });
contact.applyTags(['tag1', 'tag2']);
Installation
Open your terminal in your project folder and run the following command
npm install keap-client
Why Keap Client?
The Keap Client package aims to streamline the integration process with Keap, allowing developers to interact with the platform effortlessly. By wrapping the REST API into a modular and flexible client, it saves time and reduces the learning curve for developers working on Keap-related projects.
Repository NPMOTP Microservice
Overview
The OTP (One Time Password) microservice is designed to provide secure authentication solutions similar to those offered by Authy or Microsoft Authenticator. It enables third-party services to integrate OTP into their applications seamlessly.
Key Features
- Multi-Factor Authentication: Supports multiple authentication methods, enhancing the security of user accounts.
- Integration with Third-Party Services: Allows external applications to integrate with the service to authenticate users.
- Microservice Architecture: Built using a modular and scalable microservice architecture, making it easy to deploy and maintain.
- Database Management: Utilizes SQLModel for managing user, client, and service data within a PostgreSQL database.
- API Endpoints: Provides RESTful endpoints for user authentication and managing services.
Tech Stack
- FastAPI: For creating a high-performance API.
- SQLModel: For handling database operations.
- PostgreSQL: As the database solution.
- Python: The primary programming language used.
- Docker: To containerize the application for easy deployment.
Node Project Manager
This is a vscode extension that helps you manage your projects. you can use it to install, add, remove, update and audit your dependencies. And also it allows you to use and create in a simple way your project scripts.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
ext install marcosreuquen.node-project-manager