Software Design and Development
Are you still trying to get by with an antiquated unsupported software solution or
even an excel spreadsheet that could fall over at any time?
Do you need a bespoke software solution for your business or have a fresh idea for an application that will improve your business?
We create Bespoke Software Solutions and Database Applications to replace your antiquated solutions built on out of date software platforms or even Excel Spreadsheets.
You may also have an idea for an application that will improve the day-to-day running of your business or processes, we can discuss and analyse your idea and build bespoke applications to meet your needs.
With over 23 years of experience, we have been creating software and web solutions utilising the skills of our expert designers and programmers.
Software Development - The Process
Before designing any software solution we need to discuss your exiting software or current way of doing things or new idea so that we can obtain an in-depth understanding of requirements, aims and objectives.
Once we have assessed and reviewed the information, looked through current solutions we will then create a roadmap of the processes and functionality required.
We will also look at existing data and if and how this can be migrated to a new solution.
Analysis & Design
After initial consultancy, we will need to review the software solution and functionality that has been produced after our initial consultancy.
This will mean that we can then wireframe functionality in order to price the project with full functionality.
After the functionality review, we will then create a full wireframed proposal of the functionality required for your software solution and process overview for the project.
Pricing will cover:
- Interactive Prototyping - where required
- Project Cost
- The cost for additional changes to the specification, new functionality and scope changes
- Maintenance and on-going Support
- Cloud Hosting Solutions
Tristar will design your software to the exact specifications based on our consultancy, functionality review and project pricing/Functionality Wireframe.
Where prototyping has been included in the proposed solution we will deliver a basic prototype of your software solution.
We will create your software using the latest technologies to suit your project needs and functionality required.
It is important that we look at how your software will need to grow and resources available moving forwards.
API Integration with external systems may also play a key part in the build process either utilising existing API's or developing our own.
The project will have various phases and depending as to how complex the solution is, there may be the ability to test functionality at varying stages of the project as opposed to on completion.
QA Testing and Bug Fixing
At this point in the process, the full functionality has been built and tested by our team to make sure that all aspects and features are complete and working.
Deployment and Support
Once the software has been fully tested it is then deployed to its working environment. Your new software is then monitored for a number of months to make sure that it is performing as expected with no issues.
After this period it is important that a maintenance plan is set-up so that we can continue to monitor, assess and react to any issues that may arise in the future. Phased additional functionality development may also be part of the software plan.
Client - Case Study - Script Tracker
Script Tracker approached us to help in “cloudifying” a locally hosted application used to monitor prescription movement through a pharmacy.
Pharmasolve had a self-hosted server based Node JS web application with 2 companion Android applications. It handles the management of Prescriptions and their location(s) within a Pharmacy. Allowing users to assign QR codes (UUID based) to both prescriptions and locations and assign them to Patients.
The client wanted to offer the software as a service to other pharmacies. The Android app was built in Xamarin. There were also some underlying issues and improvements that were required in the new development.
We decided to move to PHP for the backend, specifically Laravel and Spark. Spark gives us a lot of boilerplate in handling the SaaS element of the new backend. We would also rebuild the android app in native Java and incorporate all functionality into 1 app.
We would move to external services to handle printing and the new delivery routing element.
Along with migrating the local application to the cloud, the client wanted to add a delivery element where prescriptions could be tracked via a driver and signatures captured at the point of delivery.
Out of our discovery sessions and with the help of the client we landed on the following high-level requirements
- Ability to serve multiple customers/pharmacies
- Ability to have multiple users per pharmacy
- Admin Area
- Ability to add/edit/delete & manage patients per pharmacy
- Ability to add/edit/delete & manage locations per pharmacy
- Ability to add/edit/delete & manage prescriptions per pharmacy
- Ability to create and print QR Codes per pharmacy.
- Ability to Reassign QR Codes.
- Ability to notify customers via text/email
- Printing Hub - via Printnode
- Data Collection, Reporting & Marketing
- Ability to add locations (specific for delivery)
- Ability to Sign-up / login - Onboarding - compliance with GDPR
- Ability to set different subscription plans
- Subscription Billing
- Android Apps
- Ability to connect to The Applications API /Self-discovery/ API KEY
- Back of house
- Ability to search customers 3 & 3 any combination
- Ability to select customer and create prescription QR Code
- Ability to print QR Code via SaaS
- Ability to scan QR Code to associate prescription to bin location
- Front of House
- Ability to search customers 3 & 4 any combination
- Ability to select customer and find the prescription location(s)
- Ability to Scan QR Code and “Checkout” Prescription
- Scan “Delivery” Bins to route.
- Will use Graphhopper API for routing and mapping.
- Customer Sign for collection
- 4G tracking where connectivity possible.
A change of technology to PHP for The Application and SaaS would be prefered over the current Node JS implementation.
This change affords us a move to an industry recognised SaaS product based on the Laravel Framework. The benefits of this change are the speed of development, reduced costs and ongoing support.
For speed of development and in an effort to get to a MVP as quickly as possible we used a MySQL Database to power all data storage. Multi-tenant was handled as a unique key on the user table instead of a database per pharmacy.
On-Site Hardware & Offline Functionality
Pharmacies tend to have a printer connected to a PC. To be able to connect to those printers from the Android Apps we used a 3rd party service called Printnode. Printnode allows you to brand a windows based application to be installed on the pharmacies PC which will then give cloud access to the printer.
The Android applications will now need to connect to the Cloud implementation of Script Tracker which will be done via a REST API. Security will be handled by issuing an API Key from Spark to all pharmacy users.
Grapphopper - for routing
Printnode - for remote cloud printing
Twillio - for voice and SMS messaging
Client - Case Study - Tristar Support
The existing database, built in access, was showing its age and unfit for purpose. It had a number of issues, having to live on a shared drive or being copied and shared by email, not easy to update, no longer fit for client needs, didn't look great.
Create a self-hosted hosted web based application, that would be easy to use, great to look at and flexible enough to allow for changes quickly.
The application required the following functionality;
- Admin area to set up and manage clients and sites.
- Admin area to manage users and passwords.
- Tracking of users actions within the application.
- All data should be searchable for quick access
- Data is split into Tabs and Sections.
- Ability to store different data types per section.
Single Line Plain Text
Multi-Line Plain Text
Multiple Items, eg ip addresses, licenses.
- To be built so that changes to the data structure could be made quickly and easily.
- Build out the data from scratch, so data input had to be quick and easy.
Using open source technologies we were able to quickly proof of concept a working application, then through a process of iterative releases working with the support team were able to deliver on all of the requirements.
- PHP 7.2
Software Solutions for the following:
Bespoke Software Solutions include: Production Management Software | Inventory Mangement Solutions | Tracking Solutions | Warranty Registration & Reporting | Order and Subscription Management Solutions and More...