The most exciting thing about the low-code platforms is the fact that you can develop an application very fast and have your first release in just a few hours.
Euro 2020/2021 Cup
If you have not heard about Sprinterra’s team yet, it is a good moment to mention that most of our team members are from Ukraine. We love development and love soccer, especially the fact that the Ukrainian team reached the quarter-final during the last European championship. It’s a huge achievement for the Ukrainian nation and we were truly inspired to build an app reflecting team standings and results at the championship.
The Quick Prototype Solution
We drew a picture on the board at the office to see the Euro 2020 brackets, results and to bid on the future games. But for us as for the software development team it was not a solution, but only a prototype.
A working prototype made using a board and a few color pens. The next step was implementation and sharing it with the rest of the World.
The Euro cup was running its course, so we needed rapid development and the OutSystems platform was the right choice to develop a modern responsive application as quickly as possible.
Our Requirements for the Solution
- Team management.
- Game management.
- User management.
- Three user levels:
- Administrator (able to create managers).
- Manager (able to manage teams, scores).
- Public user (able to see the results).
- Last but not least — responsive web application for mobile, tablets, laptops and desktops.
Application Development Using OutSystems
Prepare Data Model/Architecture
The core of all modern applications is the data. Because the application should have been built quickly we’ve added only data required for MVP: teams, matches and users. Game status was added as a static entity (enumeration if you will).
There is a very powerful tool to draw Entity diagrams in OutSystems. It helps to manage data modeling in application and allows diagram sharing with the team. Diagrams are easy to read and understand, with visible relations between data entities.
I believe data management is the most important part of software development. And I should confess, sometimes I utilize OutSystems entity diagrams for the projects which are worked on using different sets of technologies, because this tool is very well made and easy to use.
Develop Functions to Expose Data to Modules
It is a good practice to separate functionality by modules and logic from the security and maintenance points of view. We do not need to expose all data functions to the modules, the requirement is to expose GET, POST and PUT functions for the data.
For this low-code application we have only three methods to share with other modules for creating or updating matches, updating games status. All GET functions are created with the aggregates in OutSystems this time. All Users functions are created using OutSystems Service Center including creating roles, users and user groups, as you can see on the screenshot below.
Create Components (Widgets) in OutSystems
When you create a User Interface it is important to decide which components must be reusable in order to save your team time and decrease cost of development, maintenance and time to market. In Euro 2020 bracket online application four reusable components were defined (see the screenshot below):
The match component has the information about Home and Guest teams, score, time and location of the game. The match widget is using the team widget and the team widget is using the flag widget.
These are all the custom components we need to use in our application. We used standard components of OutSystems – Table, Form, Button and other, for the data management modules.
A module with the matches is available only for users with the Manager role.
Manager is able to add a new game or edit existing.
MVP Solution as a Responsive Single Page Application
Within a few hours of development utilizing the OutSystems platform we’ve created a fully operational and responsive web application that will work on almost any device, including desktops, laptops and tablets.
Mobile version with the slider of the brackets.
Pros and Cons of Our Low-code Solution
- Rapid development.
It took us just a few hours to deliver. It might take up to a couple of days for those who are just starting using OutSystems, still a very impressive timeline.
- Fully responsive web application.
The base themes in OutSystems UI are (in most cases) fully responsive and are working well on mobile, tablet, laptop and desktop screens.
- SEO for the single page applications does not work as expected.
If you wish to share your web application on social media you should understand that it will have poor sharing information due to the Single Page Application architecture.
Forge module SEO Utils on steroids could be used to add meta information to your application for the browser, but not for the search engines.
- Vendor lock-in
The application requires the OutSystems platform. There are two options to set up an application in the cloud or on-premise, but there is no way to run it without the OutSystems ecosystem.
You should really consider all limitations of the OutSystems platform before developing software products that will be used for the years. Of course, the platform is flexible and you can build your own modules and use modules from other developers, but in some cases classic software development might be more cost-effective.
Stay with Sprinterra
If you think OutSystems is a right choice for your organization, due to the rapid development and low cost associated with this process, and have an idea about creating an application using OutSystems, you can fill in a request for proposal on our website RFP for Healthcare or RFP for Fintech. Our proposals are free of charge and include not only project timeline and cost, but proposed architecture, design and other details. Please do not hesitate to contact us if you have any questions.
If you want to know more about low-code platforms subscribe to our news and connect with us on social networks. If you think this article might be interesting for your followers, please feel free to share it, it will allow us to collect more feedback and improve our blog.