I’ve been working full time for a company in the real estate industry for nearly two years now. As the senior developer i’d had the opportunity to use and experience with various technologies, services and tools that i haven’t used before. I’ve developed the entire company software, tools they use and the iPhone App that is available for free on the Apple App Store.
When i started working back in July 2012 they hired me after they acquired a software they wanted to use that was poorly coded, used several different frameworks along with custom scripts and native PHP which made everything a big mess, not to mention the UI and design was horrible. since from a financial standpoint, timeframes and deadlines i couldn’t start from scratch so we had to use the software as is, just fix and rebuild as the staff was working on it while trying to write good clean separated code as we moved forward.
I’ll list some of the pages that were redesigned and rebuilt in order to make a better user experience and a better application workflow overall.
Some info about the technologies being used:
- PhoneGap (HTML5, JS, CSS, Jquery Mobile)
- PHP 5.4
- Yii Framework (API)
- AWS (EC2, RDS, DynamoDB, SES, SQS, S3, ELB, IAM, ElastiCache, CloudFront)
- 2 Large EC2 Instances
- 1 RDS database 1 read replication (> 10 Million Records and > 11 GB)
- 3 S3 Buckets (over 1TB of files)
- ~50,000 Emails sent monthly
- 35 Cron jobs
- 1 developer
- 8,666 Github Commits (Started May 29 2012)
- 20 Months, 3,200 hours
The original order page was built in 3-4 different pages, meaning the user was to fill the first page, click continue and the order id was created and the basic info was set, then they’ll move to the second page for some more info, third page is the payment info and forth is the order completion message.
The new redesign is a single page, that uses bootstrap, wizard and ajax save and validation on a single page. Each step the data is validated and saved if the page refreshes the user goes back where he last left of.
Order Management & view
The staff needed to manage and make sure each order is being updated and completed in time. each update involved a log entry, in some cases a phone call and an email. The design for the old application management screen was plain, not user friendly and usually things were not working as they should’ve.
The new look on the other hand is designed for readability, user experience and easier handling for the staff for each order (New style includes a lot more features that will be discussed shortly).
Currently Viewing & Last Viewed
With more than one staff member usually taking care of the same order it often occurs that one staff member will be working on the same file at the same time, causing multiple emails and phone calls to the same client. We’ve added the last viewed section on the middle left and currently viewing underneath it to show who last viewed this file and when and who is currently viewing it. If someone enters the file a little Notification at the top right of the screen will appear notifying the user who just entered this order and is viewing it. This also applies to clients entering the order on their own dashboard.
Auto Assignment Dashboard
There was a need to create a system that will assign each staff member the order that he is supposed to work on right now and the next one in line. each order placed in line is based on certain parameters, if the order is currently viewed and worked on by another staff member it will not show up in the auto assignment (for example), each staff can see how many he has worked on today, how many are left, other staff members working on what orders and some stats on times that it took to work on a certain order and total time worked on orders today. At the bottom of the order screen they can set when this file should be revisited.
The activity log is all log messages added to each order, staff members can add log entries, emails sent and received regarding this files are also logged and can be viewed by clicking the linkable title, if a client send a support ticket it will also log that. if someone creates an activity log while a staff member is viewing the order page the activity log will refresh and a little notification at the top page will show notifying the user of a new X activity logs. they can also filter them based on certain pre-made filters (show all, show only client, show only emails, show only yours etc…)
Active Users & Active iPhone App Users
We need to know who was using the website at any given time, staff members and clients. we also wanted to log all the activity and usage on the mobile application, so we created the active users page to do just that.
Calendar & Admin Dashboard Notifications
Each staff member can create their own individual private events in the calendar, they can also create public events and select who will see that even in their calendar. on the day of the event they receive a notification and the calendar tab is highlighted red.
Recent addition was the social alert navigation bar, which basically shows any new alerts added for this staff member. when someone assigns a support ticket, creates a log entry with the staff member name linked it will create an alert to let the staff member know.
In order to provide the best results the assignment page was rebuilt and designed to make the assignment process easier. each order will show the closest X appraisers to the property with useful information for the engager to determine who to assign this to by calling or sending emails/invites to the appraisers.
We’ve built an API so third party companies can integrate with our software and service. we also use the same API for the iPhone application we’ve built.
Those changes and hundreds others make the daily task of managing and running the company an easier task. Some of the features included can be seen by just looking at the Admin Dashboard.