Portal for partners of the investment company
Nowadays, microservices are getting more and more popular - thus, one of our regular customers was considering migrating their numerous monolithic applications to such architecture. To assess all the pros and cons of that approach, it was decided to develop a pilot project using the most advanced technologies from the world of microservices - Spring Cloud, Java, NetflixOSS, Docker and Kubernetes.
The stack Spring Cloud, Netflix OSS, Java is now unmatched. The solution infrastructure was built on the components Zuul, Eureka, Ribbon, Hystrix, Feign implemented in the Spring Cloud..
In the solutions built on the basis of the micro-service architecture, automation of deployment and administration comes to the fore. The bundle of Docker and Kubernetes in our time has actually become an industry standard.
Infrastructure for continuous deployment was built on the basis of GitLab.Technologies: Spring Cloud, Netflix OSS, ELK, Java, Kubernetes, Docker, PostgreSQL, MongoDB, ReactJS, TypeScript, HTML5
ThiswayGlobal GPS - Job Advertisement - Workforce Recruitment Platform
Our customer from the UK came up with a new interesting algorithm that should help people to find the work of their dreams, and help employers to find the best employees.
This allowed us to develop the application in the shortest possible time, concentrating our efforts on functionality.Technologies: Meteor, NodeJS, MongoDB, Mocha, HTML5
Workflow Engine for IESO - Workflow process designer and engine
A large British company performing process automation in the healthcare contacted us with the following task. In their business they have to deal with a lot of processes. Over the years, the processes have become overly complex for understanding and support. Therefore, they decided to use Microsoft Workflow Foundation to manage the processes.
To simplify the development of workflows, a visual editor has been created. The editor was developed using WPF with use of MVVM Prism framework. In addition, the editor allowed to remotely debug workflows, as well as visualize the progress of the processes recorded in the log.
For execution of work processes, a server part was developed with support for remote debugging. Particular attention was paid to the possibility of remote real-time debugging, detailed logging of processes, with the possibility of subsequent visualization of the recorded process, as well as recovery from a failure.
All client and server code were 100% covered with unit tests.Technologies: WPF (Windows Presentation Foundation), Prism, WF (Workflow Foundation), MS SQL, Entity Framework, XUnit
Realty analysis services application
We were contacted by a large Russian consulting company performing analytics in the area of shopping center construction. The task was to develop a web application for calculating and visualizing transport accessibility zones for outlets.
Existing geospatial products for creating transport accessibility areas didn't fit customer's needs due to low speed and/or precision, so we get open-source product OSRM and created fast and exact algorithms for building isochrone zones on it's basis.
To build analytics model on the basis of customer's formulas we added methods for fast competitor's search within zones, for population calculations, etc
As address search engine we decided to use OpenStreetMap's search engine "Nominatim"
These products require Linux platform, so we decided to use Mono and MySQL for development.
For working with maps, the LeafletJS framework was chosen. This allowed to use Yandex.Maps, Open Street Maps, various cadastral layers, heat maps, etc.Technologies: Mono, ASP.NET, ServiceStack, LeafletJS, OSRM, MySQL, HTML5
Investor profiling application
Our customer, a large Russian investment company, contacted us with the task of modernizing one of their web applications. It was a small web application for customer questioning and their automatic classification. The application is integrated with other systems via the BizTalk bus.
The application was written in ASP.NET 2.0, and all its logic was encapsulated in the stored procedures of MS SQL Server. As a part of the infrastructure modernization strategy, it was decided to rewrite this application and, at the same time, to try the modern technologies of the Microsoft stack.
- The client part of the new application is developed using React + Redux binding and is a Single Page Application (SPA). The main programming language for the client part is TypeScript.
- The server part is a REST service developed on .NET Core.
- MS SQL is used as a data storage.
Back office for investment company
For many years we have been working to support a large information system. This is a complex system with a long history. Over the years, it has become clear that it is becoming more and more difficult to maintain it. That is why it was decided to develop a prototype of a new system implementing a part of the functionality with use of modern technologies.
The Single Page Application DurandalJS framework was chosen as the basis of the client part of the web application. To build user interface, DurnadalJS uses the MVKM framework KnockoutJS - one of the best SPA frameworks in its time.
It was decided to develop the server part using cross platform .NET Core framework, just released then from Beta stage
Automation of emergency dispatchers
The software complex automates the emergency dispatchers services operating in many cities of Russia. The complex includes:
- Automated dispatcher workplace - web application developed on DurandalJS, KnockoutJS and Bootstrap. The application allows dispatchers to track reports of new accidents in real time and coordinate the actions of emergency commissioners
- The server part of the complex is developed on the platform. NET Core and provides a REST interface for both dispatcher's workstation and mobile applications (iOS and Android) of emergency commissioners
- SignalR plays a significant role in this complex. PUSH notifications are not enough to transfer data about new accidents to mobile devices of emergency commissioners in time and reliably, as well as to the dispatchers' interface. SignalR solves this problem and helps employees of our customer to arrive at the scene of the accident first.
TIENET delivers a Web-based, customizable case management system for managing and monitoring the entire special education process, including pre-referral, eligibility, IEP development, service documentation, reporting to parents, 504 plans, English Language Learners, and personalized education programs, as well as support for Medicaid billing.
This is a project with over 15 years history. It was originally developed using Classic ASP and VB.NET. Our first task in this project was to recreate it in C# and ASP.NET Web Forms approach. Another goal was to renovate the user interface of the system using Telerik ASP.NET AJAX Controls. And finally, localize this application in English, French and Spanish. Also we put great attention on site accessibility (Section 508 compliance).
Currently the project is in support and active development state. We continuously work on new features, for example:
- Integration of TIENET with Google Translate;
- An auxiliary Silverlight application was implemented. We keep on helping customer with improving this application further following the best coding practices.
UI and Booking Engine for FrontDesk Master, innovative "all in one" hostel management system
FrontDesk Master is an innovative, web-based system with the power and flexibility of desktop application. It is cloud-based, distributed as SaaS and available on all devices any time, with real ‘real-time’ experience. It offers extensive multi property support, advanced price strategies & analysis, and social media integration. The system provides a unique way of managing rooms in different configurations and under different types, with unlimited flexibility. In other words, FrontDesk Master is everything one needs to run a hostel in one system.
FrontDesk Master consists of 3 main components:
- Channel Manager - the service interacting with various online booking channels like booking.com. It supplies information about available rooms and collects reservations. It's implemented as a .NET windows background service;
- UI - workplace for hostel personnel. It is implemented as a web application on Sencha Ext JS and SignalR, and backend is written in .NET/C#. The person from a hostel staff can configure a hostel, set price strategies, configure the Channel Manager, create and edit reservations;
- Booking Engine - a kind of vidget that allows guests to make reservations. Any hostel can obtain a link to be placed on its website, or displayed in iframe, or hosted directly on a hostel's page on Facebook. It's single page AJAX application based on KnockoutJS and ASP.NET MVC.
All these components communicate through WCF REST service, store data in multiple SQL Server databases and are deployed over multiple servers.
Our team implemented a great part of UI and Booking Engine completely. Besides, we performed system administration (managing SSL certificates, installing and configuring services and components) and database administration (backups & maintenance automation, performance optimization). We configured servers to pass tests on PCI compliance, thus having provided full stack development services.Technologies: Sencha Ext JS, SignalR, HTML/CSS, KnockoutJS, .NET, Windows Services, WCF, SQL Server
Data Processing & Review Web Portal
The goal of this project is to provide a friendly collaborative environment for users interested in processing, analysis and review of heterogeneous electronic data. Implemented as the Web portal, this system provides the following core functions:
- Documents uploading. System accepts documents in any popular format (text, HTML, MS Office, PDF, emails in various formats, including Outlook and Lotus Notes, etc.). These documents are then parsed and indexed by the system and prepared for the future analysis. In addition to Web uploader the system provides a desktop client;
- Data organization. Data is stored in easy to use and intuitive manner documents are kept in folders, which are tied to projects;
- Tagging and review. Documents can be viewed and tagged right in a web browser. Advanced search, filtering and grouping capabilities are available for the outstanding efficiency;
- Collaboration with other users. To organize virtual workgroups and work on the same data together it's possible to assign some data for review to the other users;
- Social features. Like in a social network you can connect with other people, send private messages, manage your profile;
- Dashboard and reports. Statistics regarding your data and your collaborator's work is displayed in various ways from graphical charts to hierarchical exportable reports.
- File extensions filtering;
- File types identification;
- Hash calculation;
- Redundancy removal (exact duplicates identification).
- recursive text data and metadata extraction from various types of e-mails and files;
- recursive embedded objects extraction;
- data staging and indexing;
- data analysis: file type analysis, near duplicates identification, e-mail inclusion/redundancy analysis;
- TIFF generation;
- OCR processing.
Data Mastering Pro
Data Mastering Pro allows its users to do comprehensive product catalogs standardization and analysis. Designed to work with any kind of unstructured data, this tool provides powerful means to match pieces of textual and numeric data to item definitions (products) and their attributes. These matching rules form libraries which can be shared with other users. Applying such libraries, users can standardize any kind of unstructured data, and this standardization allows users to bring different sets of data to unified form which is useful for future comparison and analysis. Since the tasks of libraries creation, standardization and analysis are very complex, we designed the user interface as intuitive as possible to simplify these processes.Technologies: DevExpress, MS SQL Server 2008, SQLite
An extremely flexible and expandable hiring system, allowing you to recruit and staff efficiently. Designed specifically for K12 educational organizations, yet it can be re-used as the basis for implementing a hiring system in any industry.
Based on the powerful easily customizable workflow engine, it makes it possible master all processes and aspects of hiring. Employer can create and manage categorized job postings, track the candidates who applied to the jobs and check their qualifications. Applicant can apply to different jobs, create their own on-line profile and be automatically notified when there are available job openings of their interest.
This online system is designed to simplify and automate the volunteer management process. People who wish to participate in volunteer program simply register online to be reviewed by the event manager.
Once successfully applied to a volunteer program, an applicant can track the time spent on the event and view reports of the time spent, with ability to filter by activities and dates.
The other side of the interface is the event manager interface, from where the you can manage events and see the volunteers applying to your events, filtered by locations, events and other parameters. For event manager it's easy to track the time spent by volunteers. Also it is possible to invite individual volunteers and volunteers from certain organizations.>
Students Progress Monitoring
Advanced Workflow System, or AWS, is a Web application which automates students’ learning process in educational institutions at all steps - from application process to practice and graduation. AWS integrates with other systems like PeopleSoft, Tk20, ETS, Blackboard.
With AWS students can:
- Apply on different programs of study online
- Submit online forms and send other electronic documents
- Easily track their progress through the educational process
For University staff AWS is a flexible tool allowing them to:
- Set up complex security based on roles and programs of study
- Design workflow processes for different online forms and documents
- Review and track students’ progress efficiently
- View integrated reports created using Crystal Reports system
This web-based integrated multifunction interactive portal environment streamlines the hiring and budgeting processes. It simplifies the experience of human resource specialists as well as of all other participants of the hiring process: gives the comprehensive control over budgeting for the financial departments, provides friendly interface for employees being hired, etc. It has a wide range of integration capabilities as well as extensible flexibility of the workflow system.
Complex roster forms are enabled with rich functionality using DHTML and AJAX. Views and reports can be customized by end-users as needed via individual profiles, and exported into PDF or MS Excel on demand.
Television show teams needed to have a tool facilitating their production process: they required a system to digitize media tapes automatically, transcribe them and make scenes combined of fragments from several tapes.
The system stores digitized media and allows creating documents and transcripts linked to the media for further search and selection for inclusion in the show. Several geographically distributed users (show team and producers) share information and work with it simultaneously through the Web application environment.
Teachers Certification Portal
This application was developed for organization dedicated to recruiting, certifying and supporting teachers. This is the web-based application which gives teachers ability to:
- Apply for certification
- Pay program fee
- Pass self-assessment
- Get assigned to the advisor and communicate with them
- Prepare for certification exams
- Purchase preparation materials
This system makes it possible to work with teachers distantly over the Internet, allowing interaction throughout the whole country. The whole certification process, including payment processing and accounting is setup in the single place.
More than 1000 Teacher Certificates were issued since Portal went live. Currently, the system tracks about 10000 active Candidates.
Portal interacts with Pearson VUE Test Center using formatted text files/FTP file storage and features PayFlow Pro for Verisign payments processing system integration through a Java agent.
Project Management System
FlexProject is designed to help you manage work – projects and their tasks, where collaboration with others is required, and keeping track of work, documentation, objectives and everything important.
FlexProject also be used to track discussions and brainstorming, develop strategic or tactical plans. Built on the Lotus Notes platform you can think of this software as an amalgam of:
- Calendar and diary system for a group of people assembled for one or more projects, tasks or purposes
- Repository of information about what is required and its deadlines
- Place to receive incoming email addressed to a 'project' or task
- Document repository
- Gantt chart component to graphically show progress of projects or tasks
- Discussion database
- Place to note up developments or just store file notes
Real-Time Lotus Notes and RDBMS Integration
One of the most actual tasks in the enterprise IT infrastructure is to organize single data access point based on data received from heterogeneous sources: from Lotus Domino documents, relational databases, ERP systems, etc. One of the most popular solutions in this case is creation of a common data repository based on some RDBMS. Usually, such repositories are organized using one of the most popular relational databases, like MS SQL, MySQL, Oracle, etc. The main goal of creating such single common storage is ability to create reports, which consolidate data related with different business processes and their phases within the enterprise.
We have created a product for efficient transfer of data from Lotus Notes and Domino into SQL in almost real-time. The product has few advantages compared to its competitors.
Below is the list of main product features:
- Flexible transfer of data structures of any complexity. To transfer Lotus Notes data the built-in @formulas are used, which are well known by any Lotus developer or administrator. For each form, user can define 3 @formulas for each of the events INSERT/UPDATE/DELETE. These formulas in fact define a SQL query, which will be executed when processing corresponding event for a particular document.
- Data transfer is performed almost in real-time. A monitoring module, which is implemented as Lotus Domino database hook add-in, triggers data transfer as soon as a document is changed in Lotus Notes.
- Persistent queue. Lotus Notes database is used to store the information about modified Lotus Notes documents, which is, in fact a persistent queue. This eliminates the risk to miss any document changes, for example, during SQL server downtime, which potentially may cause Lotus Notes and SQL databases to be not in sync.
Data transfer module. It is executed as the Domino server task and provides timely transfer of data for documents, which were put in the queue by the monitoring module.
- Insertion or updating of any number of table rows, both for single-value fields, and multi-value fields
- Deletion of table rows
- Creation, modification and deletion of SQL database tables
- Execution of stored procedures on the SQL server
- What's important is that all operations are executed in the single transaction.
- High data transfer rates. The speed of data transfer on a typical configurations of Lotus Domino and SQL reaches dozens thousands operations per minute. This speed is achieved by using Lotus C API when accessing Lotus Notes data.
Repeat Timer - iPhone application
A beautifully designed timer app with a secondary interval timer and repeat functions. At the start of the project, Artem Lapitski provided us with a detailed per-screen design document for his first iPhone app. We implemented the app rather quickly (checkout out the dev story by Artem). The initial design spec was refined to ensure the best possible user experience on iOS, so that platform’s restrictions became virtually unnoticeable to the users.
In this project we took UI Kit and Core Animation to their extreme capabilities. Lots of graphics, custom control elements and complex 3D-animations facilitate app’s functionality and delight end users.
LetterGlow - iPhone application
Not just any text-on-photo app - it is a professional graphic design app producing stunning creative images by combining text, graphics, effects & photos. It provides unmatched creative freedom - users can install their own fonts, use their own graphics & artwork, apply their own color palette, save draft projects, edit previous designs (including drafts) at any time, and fine-tune their creations with ease. The application provides comprehensive, powerful editing tools all within easy reach.
LetterGlow was featured by Apple in September 2013 (New & Noteworthy) & April 2014 (Amazing Photo Apps promotion) and has reached the top 10 in the Photo & Video category in over 50 countries.
Little Moments - iPhone and iPad application
Little Moments is the application built for those who love photography and value each moment of life, be it big or small. It offers two apps in one: a super fun photo editor, as well as the perfect Photo A Day app (https://itunes.apple.com/app/collect-photo-a-day/id580393108?mt=8) companion. Users can apply a fancy filter, or add a quote, design or cute wording over the top so it’s more fun to share on Facebook or Instagram.
The app was #1 paid app in Australia in its first week and Editors Choice in the Australian App Store. Selected in the App Store Best of 2014 in Australia
Collect: Photo a Day - iPhone application
Featured by Apple as New & Noteworthy.
Collect is an app for people that want to save a photo a day as a visual record of their lives. Many people will capture their best single photo every day of the year. Others will want to save multiple photos and often about different topics that interest them like their kids, garden, food etc. The Collect app combines a beautifully designed interface and great features to help users create a stunning collection of photos and memories. There is no better app in the App Store for remembering a year through your photos.
- Beautiful design. The finest details always put the focus on your photos.
- Fast and simple. Choose from your camera roll, other album or take a new photo.
- Calendar view. See all your photos for every month in a calendar display.
- Captions & notes. Not only add a caption but also add detailed notes to each photo.
- Built for sharing. Share each day & each month via Twitter, Facebook and email.
- Ready for printing. The card format is perfect for printing when exported from the app.
- Multiple calendars. Have a different calendar for each part of your life.
- Single or multiple photos. Collect as many photos as you want with the option for just one per day.
- Reminders feature. Daily alert so you don’t miss a day in your “photo a day” quest.
- Scroll between months. Easily swipe or jump straight to the month you want in the calendar.
- Tag your photos. Use tags to categorise your photos.
- Supports iPhone 5 & 3GS/4/4S. No other photo a day app offers iPhone 5 support.
Photo Borders - iPhone application
Photo framing the way it should be. Clean and simple. We stripped away the noise and left only what was needed. Great designs and seamless interaction. Just pick a photo. Pick a frame. Assign a color and Export. That's it, that's all.
- Easy to use UI.
- 57 unique frames with customizable colors.
- Border styles include Basic, Grunge, Antique, Texture and Film.
- Email and social sharing.
- High resolution exports.
Google Talk iOS client library
iOS library which connects to Google Talk server, receives list of contacts with their pictures/avatars, send/receive simple text messages and any other data packaged in XML.