In the last few years there has been a shift from classical software development methodologies to interface segregation principles (ISP), what has facilitated servers’ communication not only for web browsers, but also for mobile devices and without a single change in code. Nowadays one of the most popular approaches in software development is MEAN, JavaScript stack for building web and mobile applications, along with websites and portals.
If you are working on Node app, most probably you’ll need a RESTful API for your front-end or for your data to be distributed. There are lots of tools and approaches, while the main problem is to choose the right one. DA-14 is currently working on a booking app for Leisure & Travel industry. For this project we’ve chosen LoopBack framework and in this article we’ll share our experience with all the highs and lows.
LoopBack is a highly-scalable opensource framework for creating APIs with little or no coding and linking them with backend data sources. In a nutshell, it is built on top of Express and comes with a set of Node.js modules that can be used both independently and together to build REST APIs for client applications (anything like mobile, browser, etc.) in the easiest way.
There are lots of advantages that make it a powerful tool. For instance, it is a mature enterprise-ready framework that facilitates adoption of API design best practices; it generates API code automatically, makes design and testing easier and, as a result, allows developers to focus on UX (user experience) and business logic; what is more, it simplifies connecting to Oracle/MongoDB/SQL Server/MySQL legacy and new data.
Each project is different and requires unique approach with due regard to technical requirements and clients’ expectations. Considering the above-mentioned advantages, LoopBack seems to be an obvious choice for complex applications. However, our peer-to-peer platform’s proved that there are still some bottlenecks that require flexibility and custom solutions.
Our team assists in the development of booking ticket app aimed to make traveling reachable and easy, while LoopBack helps to achieve this in a short time. Apart from quick RESTful API setup and extreme flexibility, this framework is applied to create microservices and models. Easy dealing with databases is another advantage, discovered in the development process, since there is no need to install particular packages and drivers, all the work is done through DB connectors.
With the largest API toolkit that works OOB, Swagger was essential since day one. It is used for describing and documenting REST APIs on a consistent basis, ensuring that docs’ format is both human- and machine-readable.
Though majority of people see LoopBack as one-box solution, it can still become confusing and require coding skills. One of the faced challenges was inability to search through tables and cohesive models of data. As a solution we created Views (PostgreSQL) what allowed us to search through several tables simultaneously. If you face a similar problem, you can also integrate Sequalize, but we’d recommend choosing one of the options.
We also made some custom improvements in validation, using Joi module. It enables creation of blueprints or schemas for JavaScript objects (objects that store information) to guarantee validation of key information. On top of that, for this type of applications usage of real names during signup is essential, while Joi can ensure that.
Node.js is a perfect solution for getting projects done quickly that’s why it is widely applied by startups, mid-sized companies and even large enterprises like PayPal, Walmart, eBay, LinkedIn, Uber and other industry giants. For its part, LoopBack allows developers to focus on solution architecture, business strategy and user experience by making it easier to generate APIs, design them, connect to databases, test, and so on.
Choosing the right framework for your RESTful API consider flexibility, further maintainability, along with cost and available features. While performance and functionality are important, requirements, goals and business logic of a particular project are in the spotlight.