About
MOBILE APPLICATION
The social network for golfers to find partners for the game, host games, and find suitable golf courses.
Golf clubs can sell game passes directly in the app and quickly receive payments to their accounts.
Clojure allowed us
to put Cypher requests to a separate file instead of writing them in lines
to simplify writing the queries in the database, due to the syntax support by the development environment and the rejection of extra characters (for example, the end of line character)
Clojure benefits for this project
reducing time of the mobile app development
improving readability, because code with the different syntax was in separate files
the possibility of moving to another DBMS without major changes to the Clojure code, due to the separation of the description of the model functions and its implementation
COMMERCIAL
A stable and high-performance application
An implementation of a significant number of new features
A senior developer to start implementation as quickly as possible
Numerous adjustments to individual user data sets in the DBMS
TECHNICAL
A complete code refactoring, since the application was unstable and regularly crashed
Complete data migration from the existing DBMS to a new database while maintaining its integrity and structure, as well as optimizing the data structure in the DBMS to reduce the size of the database and increase the data handling speed
WE RECEIVED FOR IMPROVEMENT
1
Slow and unstable product
2
Application with a few working features
3
Code riddled with errors and suboptimal structure in need of full refactoring and optimization
4
Suboptimal database handling algorithms, which resulted in inefficient use of server capacity and additional maintenance expenses
Challenges for the FreshCode team
The entire code of the project was compiled in two files. Full code refactoring was necessary to eliminate errors and establish optimal structure;
Migration to a new DBMS was performed for an active application with a full data transfer from the old database. To secure data integrity and structure, the developer created a new and unique algorithm for parsing DBMS queries;
The algorithms for data computing, sorting, and grouping were in need of optimization. The developer wrote a separate, complex algorithm for handling data.