A service company that offers different types of entertainment (sports events, concerts and theater performances)
CEOChief Executive Officer
The difficulty of creating a multithreaded application
Many additional tasks
Lack of time for processing and testing the app
Availability of the app concept
Well established communication between in-house and Computools teams
Fast respond to all requests
Availability of all the necessary tools and data
Multitrading offers an opportunity to look for, examine and choose among next coming events in different spheres, such as sport, concerts and theatre performances. Their main goal is to provide convenient and reliable service to customers. The company has a website for users, however, due to a new developing strategy, leaders made a decision to create a multithreaded web application, windows service in particular, that could be used instead of the website.
To complete the task Multitrading hired a team of Computools’ engineers, who have a wide experience in application development and could offer the proper solution for different parts of the process. In close collaboration with the in-house IT department of the client, our developers created an app in time and according to all demands of the client. All the company’s goals were achieved.
Computools team developed a multithreaded web application, that had all required functions and met all expectations. In close collaboration with the client’s IT department, Computools’ team developed innovative digital solutions that allowed to achieve all the set goals.
Several key options we solved:
Applied multithreading to the web app to make it faster.
Implemented features for easy viewing and booking tickets on events.
Updated UX/UI design of the application.
Business Process Automation
Digital Platform & Technology
During negotiation our Project Manager and customer Coordinator have decided to use emails and Skype for fast communication. A good and well-thought communication system is a key to establishing close relationships with the client and successful collaboration.
C# is a general-purpose, multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented, and component-oriented programming disciplines. It was used as one of the most reliable and best solutions for the tasks of this project.
The Task Parallel Library (TPL) is a set of public types and APIs in the System. The purpose of the TPL is to make developers more productive by simplifying the process of adding parallelism and concurrency to applications. By using TPL, we maximized the performance of our code while focusing on the work that the app was designed to accomplish.
MongoDB is a cross-platform document-oriented database program. MongoDB is a distributed database at its core, so high availability, horizontal scaling, and geographic distribution are built in and easy to use. MongoDB’s document model is simple for developers to learn and use, while still providing all the capabilities needed to meet the most complex requirements at any scale.
In computing, the producer-consumer problem (also known as the bounded-buffer problem) is a classic example of a multi-process synchronization problem. The problem describes two processes, the producer and the consumer, who share a common, fixed-size buffer used as a queue.
During negotiation Comptools Project Manager and customer Coordinator have decided to use emails and Skype for fast communication. A good and well-thought communication system is a key to establishing close relationships with the client and successful collaboration. Slack was chosen as an internal communication system due to its convenient interface and integrated functions. Project Manager and team Lead had an opportunity to solve any issues faster, that is very important for all our projects.
In order to finish the project and complete the client’s tasks on time, our team has developed a specification based on development with a very short timeline. Thanks to close collaboration with the client’s in-house IT Department we had a good opportunity to pay close attention to all important functional and nonfunctional requirements.
Create a multithreaded web application according to all client’s demands. Development Process
1. Gathering all the necessary information for building an application.
2. Developing strategy and schedule, delegating tasks to engineers.
3. Developing a prototype of the future web-application.
4. Working on the app’s functionality.
5. Customizing the application.
6. Discussing the prototype with the client’s team.
7. Testing the application.
8. Working on bugs, adding different additional functions.
9. Another series of tests before launching the app.
10. Launching and implementation of the application.
To meet all the client’s claims we conducted a team of talented experts, experienced in c# and other required technologies. This made it possible to meet deadlines and to deliver the first work results in the shortest possible time.
Thanks to a well-established internal communication a productive collaboration between the team members was provided. Each type of meetings, face-to-face brainstorming, video or audio-conferences, helps to achieve the main goal of the project.
At the end of each sprint, we conduct team discussions and arrange feedback sessions. By exchanging opinions and emerging ideas, our developers find truly innovative solutions, improving their personal efficiency and the efficiency of the entire team.
To find a really innovative solution, our engineers meet at brainstorming sessions. It stimulates creative activity and each participant has an opportunity to offer as many options as possible, including the most fantastic ones. It helps to hit the necessary ideas and solutions.
Well-coordinated collaboration at all stages of the coding and testing process increases the pace of the development. This works especially well when our software engineers cooperate closely with their client counterparts.
Project Management Methodology
For this project, our team has chosen Scrum as the most convenient methodology that guarantees high productivity of each team member. It’s also a simple framework that facilitates team collaboration on complex projects. It stresses accountability and is iterative progress towards a well-defined goal. Scrum is part of Agile software development and teams practicing Agile. It is an excellent framework for project management. Another great thing about Scrum is that it’s adaptable.
Scrum methodology advocates for a planning meeting at the start of the sprint, where team members figure out how many items they can commit to, and then create a sprint backlog – a list of the tasks to perform during the sprint. The Scrum model sees daily scrums as a way to synchronize the work of team members as they discuss the work of the sprint. At the end of a sprint, the team conducts a sprint review during which the team demonstrates the new functionality to the PO or any other stakeholder who wishes to provide feedback that could influence the next sprint.
Gathering all the necessary data
Working on a prototype scheme
Developing a strategy
Applying innovative solutions
Building a prototype
First series of tests
System requirements’ analysis
Roles and tasks assignment
Testing before launching
Series of tests before launching
Working on bugs and important issues
Launching and implementation of the app
Implementation On Client’s Side
Before launching the application the client has developed the marketing plan, based on the standards and requirements of Google Play and the Apple Store. We followed the above-mentioned plan in order to do everything in time and the right way.
After getting all the approval from the marketplaces we’ve transferred the application and loaded to prepared directories. Thanks to high skilled Computools’ developers the transferring process was fast and successful.
In order to make sure the application works the right way, we’ve tested it several times. However, we’ve also helped the client’s team learn how to work with the app, use all the important and additional functions.