• 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

  • VisionPort

  • Contact
  • Designing for SEO from the Start

    Jon Allen

    By Jon Allen
    March 28, 2018

    Search engine optimization (SEO) is critical to the success of your website, and therefore critical to the success of your business. A high Google ranking means more page views—​and more conversions. Google rewards websites that are user-friendly and easy-to-navigate, with fresh content and frequent updates. At End Point, we design with SEO in mind from the beginning of the project to help you get the most value from your online presence.

    These are the five main areas that we focus on to improve your ranking:

    1. Content Strategy—​You want to provide your users with quality content. We can provide a content strategy to help ensure that your site stays on target, with clear copy, focused messaging, and consistent branding. We’ll help you put together a site that gets visitors where they want to be—​and you’ll reap the rewards with an increase in traffic to your site.

    2. Sitemap, Keywords, and Semantic Markup—​We dive into the nuts and bolts of your site to make sure that it can be crawled and indexed easily by Google. We produce a prioritized XML sitemap, relevant, long-tail keywords and metadata, descriptive page headings, titles, and URLs. Your site’s code will utilize HTML5 …


    design seo

    In-House to Consulting, Rinse and Repeat

    Steph Skardal

    By Steph Skardal
    March 28, 2018

    In House vs. Consulting
    Photo by Matthew Henry of Burst

    Hi! I’m Steph. I’ve been working 10+ years now as a software engineer, and I’ve spent ~4 years of that as an in-house developer at 2 different companies and 7+ years as a consultant here at End Point and as an independent contractor. Whenever I’ve started a new position, I get asked “What’s it like on the other side?” or something along the lines of “Is the grass greener?” I thought my answer to this was good blog fodder, so here we are.

    If you google “in-house vs. consultant”, much of the results are written from the perspective of a company looking to hire either in-house engineers or looking to outsource to consulting companies. Here’s my approach to answer the question as it relates to employee happiness, skill development, and job satisfaction.

    Working as an in-house engineer

    • Working as an in-house engineer can mean that you may focus on one technology (or one web stack) and even one main codebase, although this isn’t necessarily true. When I worked for Backcountry.com a while back, the main application was an ecommerce application running on Interchange, and that’s where I spent most of my dev time. But as my experience grew, I began working …

    tips software

    Multi-Tenant Architecture

    Gaurav Soni

    By Gaurav Soni
    March 27, 2018

    Multi-tenant living, with grazing cows
    Photo by Rüdiger Stehn, cropped, CC BY-SA 2.0

    Definition

    Multi-tenant architecture allows one instance of an application to serve multiple customers/​organizations. Each customer/​organization is called a tenant. Each has its own apparent separate application and is not aware of the other tenants. The tenant has the ability to customize their own UI, users and groups, etc. Every tenant typically has these features:

    View: Tenants can define the overall styling to their application.

    Business rules: Tenant can define their own business rules and logic for their application.

    Database schema: Tenant can define their own database schema (real or apparent) for the application. They can add/​remove database tables, rename database fields, etc.

    Users and groups: Tenant can define their own rules to achieve data access control.

    Types of multi-tenancy

    There are 3 main types of multi-tenant architecture:

    (1) Multi-tenancy with a single multi-tenant database: This is the simplest form of multi-tenancy. It uses single application instance and the single database instance to host the tenants and store/​retrieve the data. This architecture is highly scalable, and when more tenants are added the …


    rails architecture development

    King Arthur Flour Recipes

    Seth Jensen

    By Seth Jensen
    March 26, 2018

    pancakes The delicious yield of King Arthur Flour recipe Simply Perfect Pancakes

    We have been pleased to have King Arthur Flour (renamed King Arthur Baking in 2020) as a client for a few years. A year or so ago I started using some of their recipes, and their website has since become my go-to source for good baking recipes. I have used their flours a few times, but I am going to focus on their recipes in this post.

    They have a ton of recipes. There are upwards of 30 recipes for different kinds of brownies alone. These include gluten free, fudge, raspberry, mint, you name it. The vast majority of recipes I’ve seen have at least a 4 star rating from the public. The recipes are organized into 9 major categories, which makes it easy to browse through recipes quickly.

    KAF website

    Their customer service is amazing. Most recipes have several comments on them, and some have up to several hundred. Even with this many comments, if you leave criticism of the recipe, a KAF staff member will almost always answer with suggestions to make it work better. They also have a toll-free baker’s hotline, where you can call or email them with any baking questions, whether or not it’s related to their products!

    blonde brownies Crazy …

    clients tips

    Recycling Web Workers: Just Proper Hygiene

    Josh Williams

    By Josh Williams
    March 23, 2018

    Neat recycling bins
    Photo by Dano, CC BY 2.0

    A long while back we were helping out a client with a mysterious and serious problem: The PostgreSQL instance was showing gradual memory growth, each of the processes slowly ballooning memory across a few days until the system triggered the OOM (out of memory) killer. Database at that point kicks out all connections and restarts. Downtime is bad, yo.

    Spoiler alert: It was a prepared SQL statements bug in Rails. Sometimes it’s fun to take you through all the hair-pulling that goes into debugging something like this, but instead this Friday I’m feeling preachy.

    Of course there’s a few different directions you could go to work around a problem like this:

    • Update your framework. If, of course, the fix has been released, or determined in the first place. And if your application doesn’t have any compatibility trouble preventing it from running on the updated version, or you feel comfortable back-patching the fix yourself. And if the Change Management Officer doesn’t try to string you up for wanting to update production willy nilly. (Not everyone works at a startup!) But do add it as a milestone. It should be one anyway.
    • Take a different code path. Feature …

    database python ruby sysadmin

    The End Point Design Process

    Jon Allen

    By Jon Allen
    March 14, 2018

    Designing for the web means more than just creating beautiful websites—​whether it’s a marketing site, an ecommerce platform, or a large-scale web application, thoughtful design means better, more intuitive user experiences. The design process provides a roadmap for developers and a shared set of expectations for the clients of what the final product will be.

    If you’ve contracted End Point for design work, or you’re considering it, this post will show you all the steps as we go from an initial concept to a polished design that’s ready for development. You’ll also learn the basic vocabulary of deliverables and some of the tools involved in the process.

    Phase I: Discovery

    Every new app, website, or product starts with an idea. The initial phase of design work means clarifying that idea—​defining its boundaries and goals. Thorough research and investigation are critical for setting the path to success. We interview our clients’ staff, stakeholders, and users to get a comprehensive picture of the current marketplace, discover any pain points in existing workflows, and learn what we can do to make things better. We also take an in-depth look at existing content and, with the client, …


    design

    Rails Active Storage

    Gaurav Soni

    By Gaurav Soni
    March 12, 2018

    Overview

    Active Storage is a new feature of Ruby on Rails 5.2 that provides functionality to upload files to the cloud, currently Amazon Web Services, Google Cloud, Microsoft Azure.

    This gem attaches pointers to uploaded files to the Active Record object. It uploads the file asynchronously which reduces app server overhead, and it also doesn’t require adding a background job explicitly. Active Storage by default uses Active Job to upload the files.

    Features of Active Storage

    Mirror Service: This allows synchronization of the file between multiple cloud storage services. For example we have this config/storage.yml:

    development:
      service: Mirror
      primary: amazon
      mirrors:
        - azure
        - google

    The Mirror service first uploads files to Amazon S3. After that it pushes to Azure and Google Cloud. When we remove the file then first it removes it from Amazon S3 and after that it removes it from Azure and Google Cloud. This service is very helpful when we are migrating from one cloud to another.

    Direct Uploads: Active Storage comes with a JavaScript library activestorage.js. By using this library we can upload files from the front-end browser to cloud storage directly. Some events …


    ruby rails

    Vue in Ecommerce: Routing and Persistence

    Steph Skardal

    By Steph Skardal
    March 1, 2018

    Vue Shop created by Matheus Azzi

    I recently wrote about Vue in Ecommerce and pointed to a handful of references to get started. Today, I’ll talk about using vue-router in a small ecommerce application, combined with vuex-persist for state storage.

    I forked this Vue Shop on GitHub from Matheus Azzi. It was a great starting point for to see how basic component organization and state management might look in a Vue ecommerce application, but it is a single page ecommerce app with no separate page for a product detail, checkout, or static pages, so here I go into some details on routing and persistence in a Vue ecommerce application.

    Vue Router

    In looking through the documentation, I don’t see a great elevator pitch on what it is that Vue Router does. If you are new to routing, it’s a tool to map the URL request to the Vue component. Since I’m coming from the Rails perspective, I’m quite familiar with the Ruby on Rails routing from URL pattern matching, constraints, resources to Ruby on Rails controllers and actions. Vue routing via vue-router has some similar elements.

    When you create a basic Vue application via vue-cli, you are given the option to include vue-router:

    vue init webpack myapp
    
    ? Project name myapp
    ? …

    ecommerce vue javascript open-source
    Previous page • Page 52 of 223 • Next page