The ember ship engine

warning

The ember ship project is currently in development and not yet fully functional. I'm open for partnerships or funding to bootstrap the project and finish the base functionality faster. Please read on and Contact me if you're interested.

Introduction#

A large part of my career as a developer has revolved around sales and membership systems. I have written multiple backends for CMSs and e-commerce websites.

I have also co-developed the membership software used by gym chains like Basic Fit, Fit for Free, Health City, SportCity, Nuffield Health and Wellbeing in the U.K. and Fit For Less in Canada. Beyond that, I have worked on conversion software, for which I researched and converted VirtuaGym, Coach and In-sight/Sportivity membership software. I have seen all common problems and challenges in the membership and sales domains, and I have seen the good, the bad, and the ugly solutions to those problems.

Currently, I'm working in a totally different domain, but membership and (certainly) sales systems in general still provide a challenging problem to solve. The ember ship project is something I'm currently working on in my spare time, to create a headless sales and membership system that can be used for organizations that deal with either one-time sales or recurring services. Taking into account all the sales and membership systems I've seen or worked on, the ember ship project incorporates the best of all worlds.

The engine can potentially be the back end for a lot of things, including, but not limited to:

  • webshops
  • membership systems
  • point of sale systems
  • user registration systems
  • inventory software
  • automatic invoicing systems

goals

Goals#

There's a set of goals that solve common problems I have seen. The software is designed with these goals in mind.

  • Modularity The engine consists of modules that can run independently of other modules. Each module has its own responsibility and is only loosely coupled to other modules. This allows for customers to only use the parts they need.

  • Scalability Because of the modularity, it's also very easy to scale the engine. Each of the modules can be scaled independently when needed. No need to worry if you're suddenly in a phase of substantial growth.

  • Privacy The engine is designed to store privacy-sensitive data separate from other data. It can run entirely in the cloud, but it can also run it's functionality in the cloud and store sensitive data on your own servers.

  • Auditability Being able to properly audit changes to data is key for companies nowadays. If you want to comply to ISO standards for example, it should be clear who did what at what point in time. The ember ship engine audits any and all changes, so you can examine detailed audit logs when the need arises.

  • Headless Although I'm not ruling out there will be a (demo) front-end at some point, the first goal is to create a solid back-end. Using industry standard restful APIs, it will be possible to attach any front-end to the system. This can be an app on a phone, a website or a desktop application. This allows you to keep complete control over the design and also to enhance your users' experience by adding API's from other vendors or from your own development.

  • Configurable Store as much or as little personal data as you want. The information you gather is configurable. Only want to store you users' name and e-mail? Fine. If you want to store address, birthdate and phone number as well, that's fine too.

Status#

As stated, this project is in alpha and not production ready. That being said; all of the basic building blocks are in place, as well as the basic infrastructure. As soon as the MVP level is reached, it will be made available.

As this is a pet project, I will be coding it in my spare time and probably irregularly. If you are looking for a system like the ember ship project, and you like the approach taken, but you don't like waiting, I'm open for bootstrapping the project by means of a partnership or funding. Contact me so we can have a chat.