• Home

  • Custom Ecommerce
  • Application Development
  • Database Consulting
  • Cloud Hosting
  • Systems Integration
  • Legacy Business Systems
  • Security & Compliance
  • GIS

  • Expertise

  • About Us
  • Our Team
  • Clients
  • Blog
  • Careers

  • CasePointer

  • VisionPort

  • Contact
  • Our Blog

    Ongoing observations by End Point Dev people

    Client Profile: J.G. Title Company

    Juan Pablo Ventoso

    By Juan Pablo Ventoso
    December 27, 2023

    The J.G. Title Company logo sits in the center of an image on a blue background with futuristic designs reminiscent of circuit boards. Text on either side of the logo reads “Nationwide titling”, with text under reading “info@jgtitleco.com” and “https://jgtitleco.com”

    J.G. Title is a prominent service company specializing in automotive dealership titling and registration processes across the country. They simplify operations for their dealers, businesses, and individuals by giving tax/fee quotes, document validation, and checklists for all jurisdictions.

    Jordan Kivett, the owner of J.G. Title, envisioned an innovative web application to simplify dealership operations. He contacted us to request a quote for developing this solution and making his vision a reality. This project became a great opportunity for our .NET team to build a robust system with state-of-the-art technologies functioning seamlessly together.

    The solution

    J.G. Title submitted a detailed document containing a description of the requirements for the J.G. Title Suite app along with workflow diagrams explaining their current business processes. After analyzing all the documents and having some initial meetings, we decided to divide the project into different stages, and estimate each phase of work separately. We ended up with three phases:

    • Phase I: Create a product that allows users to enter deals into the system and retrieve the quote estimation, including taxes, fees, and …

    dotnet development clients case-study saas

    Developers: Time and Teamwork

    Greg Hanson

    By Greg Hanson
    December 4, 2023

    A steep golden hillside interspersed with green shrubs, behind power lines. Above the hill is a half moon on a deep blue sky.

    Time and teamwork. How do these two concepts fit together? The focus of this post is how blending them can improve not only your programming skills, but also your timeline of projects.

    For a recent project I am the project manager of, we had an urgent request from a client for a developer who could be available in the next 2 weeks to work on a project that had about a 6 week timeline.

    The project

    Initially, it seemed like a pretty easy request to fill. We had a developer who had worked previously for this client, in the very same environment, albeit on a different project. So the roadmap was there: Get the developer into the systems, get the requirements, and do the work.

    This client, like many, had some specific barriers to entry, like needing a company email address, access through a VPN, Duo 2FA, familiarity with Monday.com tracking, Office 365, Microsoft Teams for meetings, and so forth. But, as mentioned, the dev we would be using had worked previously in this environment, and so we already had most of the above in place.

    So we got started with the first few initiation meetings, getting the basics of the project laid out, tasks assigned, and timeline established.

    Then Mr. …


    tips development

    Domain Move Considerations

    Josh Ausborne

    By Josh Ausborne
    November 30, 2023

    Photo taken of and from the Mormon Row Homestead at Grand Teton National Park. Photo is taken facing WNW, and has an old home and barn in the foreground with the jagged, rocky peaks of the Teton mountain range in the background.

    In 2021 we moved to a new internet domain. We had been on endpoint.com for 26 years, so a lot of things were tied to that domain!

    As we expected, there were a lot of little details to deal with. We found the switch to be a bit overwhelming until we started listing things out, at which time we realized that a divide-and-conquer approach would make it achievable.

    A domain move is not an extremely common experience for a company to go through, but it’s not unheard of, either, due to acquisitions, mergers, or rebranding like ours. So we want to share our notes from our move to endpointdev.com in case they are helpful to others considering their own move.

    How long did we reserve for the move, in calendar time? We planned to work on it over 6 months, but in the end we were done in about 3 months.

    Make a schedule

    Look at your calendar. Mark any major company or personal events that you do not want any infrastructure disruption around. Block out busy periods, major holidays and vacations, etc. This will help you be realistic about how much time various people can spend on this, and how you can minimize problems for the company by choosing when to break things, or at least risk breaking …


    tips

    JSforce: A Quick Path to Salesforce Development

    Couragyn Chretien

    By Couragyn Chretien
    October 21, 2023

    A completely clear blue sky is broken by a desert mountain with exposed light rock, covered partly by striking green trees and bushes. Above the mountain is a half-moon.

    Using JavaScript with JSforce can get you working on a Salesforce project quickly if you don’t have a Salesforce expert on hand. It provides easy access to Salesforce’s API, which will allow you to focus on development instead of learning a new system.

    No Salesforce learning curve

    Apex is a platform-specific language created so that developers can interact with Salesforce classes/​objects and write custom code. Apex allows you to do some cool things such as directly triggering custom Apex code based on an action in Salesforce.

    The problem with Apex is that it is its own world, with its own IDEs, deployment processes, etc. There’s a steep learning curve to getting up to speed with the Apex ecosphere.

    JSforce is a wrapper/​abstraction of the Salesforce API. It allows you to do a lot, like search, perform CRUD actions, and even send emails. These functions aren’t as streamlined as their built-in Apex counterpart, but JSforce allows any JS developer to jump right into the code without wasting costly training time.

    Using JSforce CLI

    Below are some examples of connecting and performing basic CRUD operations.

    Connecting

    Installation:

    $ npm install jsforce -g …

    javascript salesforce api

    Building Ecommerce Search Using Algolia

    Dylan Wooters

    By Dylan Wooters
    October 12, 2023

    Looking east from the top of the Berkeley hills over the Briones Reservoir. Rolling hills are seen in the distance with the sun setting to the west.

    A common request that developers receive when embarking on a new website project is for the website to have “Google-like search.” For many years, this meant writing custom code to replicate the intelligent and user-friendly aspects of Google search, which was no easy feat. However, now we have many search-as-a-service offerings that do the hard work for us and make this process much easier.

    In this blog post, we’ll dive into one of these search-as-a-service platforms, Algolia. We recently worked on an ecommerce website and used Algolia in an interesting way, both as a search engine and as a lightweight backend database to hold product data managed in Salesforce. Algolia worked beautifully, offering users fast and accurate search results, and also allowing us to launch the site within a relatively short time frame.

    We will look at how to load Algolia with data, configure search options, and connect the search to the frontend using Algolia’s Vue library.

    Loading the index with data

    To start using Algolia’s search, you need to load up an index with data. You have the option of manually uploading a JSON file, or using Algolia’s API to programmatically load records. For …


    search vue typescript

    Introduction to Playwright using C#

    Bimal Gharti Magar

    By Bimal Gharti Magar
    October 12, 2023

    In the foreground, the foliage of a light green tree edged with sunlight creates a line across the image. In the background, a mountain hillside with light dirt, intermittent exposed rock, and foliage just starting to turn the yellow, orange, and red colors of fall

    Automating web application tasks is a necessary skill for software developers and testers. You need it for performing repetitive tasks, conducting end-to-end testing of web applications, and scraping data from websites. In this blog post, we’ll explore how to use C# with Playwright for automating tasks.

    What is Playwright?

    Playwright is an open-source automation framework developed by Microsoft that allows you to automate web applications using various programming languages, including C#. Playwright was created specifically to accommodate the needs of end-to-end testing, but we will use it as a library for web automation. Playwright supports Chromium, WebKit, and Firefox. It runs on a variety of systems: Windows, Linux, and macOS, locally or on a continuous integration (CI) platform, headless or headed with native mobile emulation.

    To begin web automation using C# and Playwright, follow these steps:

    1. Prerequisites: You should have .NET Core or .NET 5+ installed on your machine.

    2. Create a New C# Project: Let’s start by creating a new C# console application.

      dotnet new console -n EPWebAutomation
      cd EPWebAutomation
      
    3. Install Playwright NuGet Package: Open new project …


    csharp testing automation

    Testing user-defined functions with pgTAP

    Todor “Theo” Dimov

    By Todor “Theo” Dimov
    September 25, 2023

    An overhead shot of a market full of thousands of colorful DVD cases. Several people peruse the wares in an aisle

    For a great introduction to the pgTAP protocol, please read over my colleague Josh Tolley’s article, using pgTAP to automate database testing. Also check out Edgar Mlowe’s article on how to set up pgTAP for writing PostgreSQL database unit tests.

    As a protocol, pgTAP provides a great list of functions and commands to easily and clearly test all aspects of a database. As I’ve been tasked with more implementations of unit tests for user-defined functions, I thought it helpful to share some useful methods.

    First we’ll go over a few basic pgTAP functions that are useful in testing the existence of functions and procedures. Then we’ll use the PostgreSQL port of the Sakila sample database for MySQL, called Pagila. We’ll construct two functions and go over a single test case. Using basic Postgres tools, I’ll walk through a few methods of calling and testing our functions. Finally, we’ll go over a more concise way of testing all cases for said functions.

    Feel free to work alongside this article to hopefully leave with a comfortable idea of how to construct unit test files for your database.

    Functions:

    For this first example, remember to have the pgTAP extension in your schema …


    sql postgres database testing

    Ubuntu Touch on a Galaxy S7 & a Pixel 3a

    Seth Jensen

    By Seth Jensen
    August 29, 2023

    A dark print on very old paper shows an armored knight on a horse, surrounded completely by swirling floral patterns. In a few places the pattern evolves into a flower or what appears to be a curved, long bird head.

    I have a shoebox in my closet I call my “phone graveyard.” At times I’ve had five or more old phones in there, in various states of decay—some have fully shattered screens, some broken USB ports, etc. But some still have quite usable hardware, their main drawback being how slowly they run modern versions of Android or iOS, and the lack of support for modern features.

    It has always troubled me to have such incredible devices, with way more computing power than, say, a Raspberry Pi, gather dust because of software limitations. Even if I don’t use an old phone for daily use any more, what if I could use it as a DNS server (like a Pi-hole), or as a camera or media player?

    When I heard about Ubuntu Touch, it seemed like the perfect OS to bring back some long-term functionality to these old devices. Originally created by Canonical, it was soon abandoned but revived by UBports, who started community development in 2015. They actively maintain the OS for around 80 devices, including two I have in my phone graveyard: a Samsung Galaxy S7 and a Google Pixel 3a.

    Installation

    Installing Ubuntu Touch is quite straightforward; the UBports installer does most of the heavy …


    linux mobile ubuntu
    Previous page • Page 2 of 215 • Next page