Category Archives: Significant projects

RefTrack

Referral tracking app that will soon grow to be a full-sized planning and tracking system 🙂 Made for Ambrose Rehabilitation Consultants, Okemos, Michigan, USA.

Ambrose-logo

The app started as a potential replacement for existing SSaS app that failed to fulfil client’s needs. Then client figured out that the thing they miss most is Referral tracking, so we agreed to make that functionality first and then add other details along. During the course of development, it turned out that one of the key problems they have in everyday work is the fact that every client they work for has to sign some documents that are valid only for a short period of time, and then they have to be signed again for the following period. And the problem was presented to me.

Admission

What I did to solve this is to make a solution inside the app that allows their clients to digitally sign the documents,  either one or many of them in one go. Mind you, this is not digital signature you make by picking a predefined handwriting font… No, the system actually reads your signature from tablet input, and the recorded signature is then incorporated in generated PDF’s so they can be printed as signed. As you can see, I’m quite proud of the system 🙂

If you want to know is it legal, I can’t give a definite answer – my client claims that they have checked it and that it IS legal in United States where they work.

The app is entirely made in PHP/JS, using MongoDB as a backend. I chose Mongo over MySQL since majority of the data that needs to be stored is related to one person – so it’s like a giant file holding personal data, signed documents, images, and everything else that is needed. Also, the structure of the data is not identical for every person, so MongoDB seemed like a natural solution. Symfony2 was a framework of choice. It has many good sides, but among others, it supports Doctrine2 ODM that directly communicates with MongoDB so I was able to utilise many of Symfony and Doctrine useful features with the backend of choice.

The app is still under active development, so this article will probably expand more as I go along…

Live Kidney Donation

This project is significant for me because of it’s cause, though it was a challenge, too. The client approached me in an effort to save what can be saved after a company from the sub-continent left him with half-operational site that delivered approximately half of necessary operations. But to understand this, you have to know the scenario of the site.

lkdlogo

The client decided to make a site where all patients suffering from renal failure could post their profiles, and all healthy people willing to participate in the cause can view those profiles and possibly decide to donate their “spare” kidney (more on this on the site itself). So, the site had to provide a way for patients to post their profiles, and for everyone else to have some kind of signed-up access so their actions can be tracked. The idea was that if a viewer watches the same profile more than 3 times, then something in the story moved him. Therefore, it’s OK for a patient to contact him and offer more information, thus potentially gaining himself a live kidney donor. But, of course, everything had to stay anonymous in an effort to protect privacy.

What I found was a WordPress-based site with no less than 30 custom templates, bundled with a bunch of custom code that was copied all over, so it looked more like spaghetti than a real programming job. Impossible to describe, really.

My first task was to fix sign-up procedures, and I did so by applying my knowledge on membership sites accumulated over the years of working for 2buy1click. Then, after this was operational, I moved to rearranging the templates into a usable whole, since the client decided to do a redesign in the meantime. On top of this, I applied VisualComposer so that the client can do the edits himself and thus save some money, if possible. The result is what you see now – a redesigned and functioning site. I must admit there’s more work to be done, but at least the cause is now gaining some attention 🙂

Lexis Integra

This is the app I made for a Serbian well known publishing company, named “Sluzbeni Glasnik”. It was a custom project for their encyclopaedic section, aimed at collecting data for encyclopaedias and lexicons.

As you may know, encyclopaedia is usually written by more than one author, where each one covers a section of the book he’s most prominent with. On the other hand, all these entries can be interconnected, point to one another, etc – as you would expect from a good encyclopaedia in printed form. The board of editors needs to list entire collection from time to time, to see if it fits the required form, control the text etc. Each entry needs to be checked by the editor, lector, copy editor and each one of them needs to give his approval to the text. Lastly, board of editors needs to check the total number of characters and words in all entries, to see if they fit in the predefined format and size of the book.

Well, this app covers all of that. It was made in Clarion for Windows, so it’s a native Win32 app. It uses MySQL as a common backend, and every author or an editor has a copy of the client app installed on his system. All apps communicate with one common MySQL server, using a database for the specific book that they’re working at. A client can communicate with alternate databases, if the author is working on more than one book at a time. The app collects the data for each individual entry, and the author must give his approval after which he can’t modify the entry any more.

Screen Shot 2015-07-17 at 14.42.08

The editors pick up from there, and each one controls the entry text and gives his approval. Once all approvals are collected, the entry is marked as finished.

Once all entries are finished, entire text is exported to MS Word format, that is used for prepress in InDesign and similar programs.

During data collection, board of editors can check the number of letters and words collected at any point in time, so they can react if the book starts to grow more than acceptable. Also, each term that is to be defined has a size limit, so author is warned in time if his text contains more than allowed number of characters.

The app was initially used to collect data for a series of major town lexicons, so it initially had more than 250 concurrent users. After that, it was used for several large encyclopaedias, with smaller number of concurrent authors but larger number of entries per book. And it still works successfully.

Screen Shot 2015-07-17 at 14.42.35

LexEnc

This is the first app I made for a Serbian well known publishing company, named “Sluzbeni Glasnik”. It was a custom project for their encyclopaedic section, aimed at streamlining the editorial process. It was a predecessor of IntAzb app I made a year later.

The idea was to track a book preparation process from very start to the very end, since it has to pass through a number of different hands on it’s way to book stores. Authors, editors, translators and other staff working on it have their responsibilities and deadlines they must meet. The app was intended to track their performance, and also the costs of the book.

Though ambitiously conceived, the app was not used as much as I hoped, mainly because the editorial staff was not willing to participate in everyday usage, as they felt that filling in the app data was a burden on them and they “already have too much to do” 🙂 The more probable reason was that they did not want to be tracked 🙂