Home    >    Case Studies    >    Coevery For Windows Phone

Case Study: Coevery For Windows Phone


Coevery is a free CRM application developed by Nova Software which is a .NET focused software development company. In order to be able to support more platforms, Nova Software has developed a free CRM system based on the Windows Phone version. Currently the system supports only simple query function.

You can get the source code on CodePlex, address is: https://coeveryforwp.codeplex.com


The Nova Development Team provides a WCF service based Odata, the system will call this WCF service to implement business logics.

System allows searching project leads, by default system will just show the project leads which belong to the current login user. Also system will show the entire project leads when you select show all project leads.

Also it is able to query specific information of a particular project, including customer contact information, technology domain, client project background, project priority and so on. In addition, the system is also able to display all notes, in order to facilitate the understanding of the progress of the project.


The development of the Windows Phone platform, and use the panorama mode, so that a page can display more information and user-friendly data query.

Asynchronous call mechanism through Windows Phone development platform, all data is loaded asynchronously been greatly optimized performance.




  • WCF
  • OData
  • Linq to Entity
  • XAML

Challenges of the development process

During the whole process we encountered some challenges.

Since the data from the WCF service based on Odata WCF service authorization mechanism, every request sent from the phone side requires authorization, and authorization is achieved by Cookie. When you login system, you need permission certification, you can only get cookie when authentication is successful. After you send a request each time, you need to pass Cookie to the server to be able to properly execute access.

Windows Phone platform only supports asynchronous, sometimes we need to continue to perform a certain operation to perform other requests, so we will execute the request again after the asynchronous callback, which will be more cumbersome and complex compared to direct calls.

The Odata protocol does not support complex Linq query. Sometimes we need a page of data from multiple tables, and therefore need to be linked to other tables to query related data, but because the Odata protocol does not support complex Linq query, we must achieve through other means.

Benefits to the clients

We can analyze requirements together with the client to help the client reduce the workload.

We develop all frontend and backend functionalities for the client so that he/she can focus on the collection of business logics.

We send to the clients daily and weekly report, indicating our progress and time we spend on each task. Thus, the client knows how the project is going and can manage the project in an easier and more efficient manner.

We have a strict project management processes to control the progress of the project.

We have a professional test team to ensure the quality of the project.