Viscosity
logo-black
  • Data
    • Database Services
      • Performance Assessment
      • Proactive Healthcheck
      • Database Migration & Consolidation
      • Performance Tuning
    • Microsoft Services
      • Microsoft Azure Services
      • Microsoft SQL Server Services
      • Microsoft Gold Azure Partner
    • Oracle Services
      • Oracle Database 19c
      • RAC
      • GoldenGate
      • Data Guard
      • Oracle & SQL Database
    • Viscosity Remote Services
  • Apps
    • App Dev Services
    • Oracle APEX
    • Viscosity AMP
    • Viscosity-ai
    • Shane-ai
  • Cloud
    • Cloud Services
    • Hybrid Cloud
    • Viscosity Edge Cloud
    • Virtualization & Cloud Expertise
    • Microsoft Azure Services
  • Infrastructure
    • Infrastructure Services
    • Exadata
      • Exadata Resale & Services
    • Oracle Database Appliance
      • Oracle Database Appliance Resale & Services
      • ODA Health Checks
    • Zero Data Loss Recovery Appliance
    • VMware to KVM Migration
  • Events
    • Upcoming Events
    • Virtual Training
    • 2025 Past Events
    • 2024 Past Events
    • 2023 Past Events
    • 2022 Past Events
  • About
    • About Us
    • News
    • Blogs
    • Publications
    • Contact
Hit enter to search or ESC to close
ENGAGE WITH US

Application Development , APEX , World Cup , PL/SQL

World Cup Predictor App

By Luis Flores
December 02, 2022

As the FIFA World Cup Soccer tournament was approaching, we decided to create an app to have some fun throughout the tournament. The rules were simple. Predict the exact result, and you get 3 points. Predict who wins, and you get 1.

We wanted to accomplish two goals with this little project:
 

  1. Have some fun with our coworkers with a competitive game while watching the World Cup. 
  1. Teach our new developers our APEX ways while developing a final product. Even though the app is simple, it was good practice and a teaching opportunity. 

Authentication and Users 

The first issue we came across was user management and authentication. We could have used regular APEX accounts, but they had some flaws. The most important one being we had to create each user that wanted to play, and that's no fun; nobody wants to do extra work.

We decided to go with Google accounts using the social sign-in functionality APEX has had since 18.1. Therefore, we didn't have to manage users manually. 

MicrosoftTeams-image (81)

 

Tournament Configurations and Fixtures Data 

To get the information and data for the matches, we could have created and updated each game on our own, but it would be too much work. So, we did some quick research and found some cool APIs that could give us the information we needed. 

 

After the research, we decided to go with https://dashboard.api-football.com/ since it had a free version of 100 requests per day, and we only wanted the World Cup data.  

It was an excellent opportunity to teach our new developers how to integrate with an external API and sync the data on ours with PL/SQL.  

The final step was setting up a job to refresh the result every 15 minutes, and we solved the most challenging part.

 

MicrosoftTeams-image (82)

 

APEX Application 

For the APEX application, we needed an admin section to configure new tournaments and see who was on each tournament. We needed to be able to fix things if we ever had any issues with our API provider (manual overwrite), and the most important part is where the end user will enter the prediction.

We also focused on being mobile-friendly since it would be an app more frequently used on mobile devices. 

 

The Dashboard 

On the design, you could be involved in several tournaments and predict each one. On the dashboard, you can see all the tournaments you are involved in and their standings. 

 MicrosoftTeams-image (84)

 

MicrosoftTeams-image (85)

 

MicrosoftTeams-image (86)

 

We needed a few additions to make it fair, so everyone could check the app and engage while watching the games and what predictions each of their co-workers added. We created a page to look at the predictions for every one of them once the match has started. 

 

MicrosoftTeams-image (87)

 

Conclusion 

Ultimately, we accomplished two objectives: a cool game where we could have some internal competition and bragging rights. Since I am writing this, once the round of 16 is defined, we already know the US will face the Netherlands, which has given us another reason to support our favorite team.

It was a great app to teach the development cycles of an app and how you can accomplish great apps in no time with APEX. We came across issues and managed to solve them, and they realized, once we ran our pilot, what was missing and added it in time for the World Cup.

If you want to give it a try for round 16, visit https://apps.viscosityna.com/ords/bet/r/sports-pools/, and on the top right, you can read the rules and join a tournament using the code WC2022 to join the demo. 

 

MicrosoftTeams-image (88) 

 

All posts
About Author
Luis Flores

Luis is a Senior Software Developer at Viscosity who has been a technology lover for as long as he can remember, working in the application development space since 2013. He always looks for the best way to solve a problem or a new process. If Luis doesn't have a solution, he will do his best to find the solution. He started working on Oracle Application Express in 2018 and has always looked at the best ways to leverage all the functionality in the client's favor to develop great and easy-to-use applications.

You might also like
Creating an APEX App Using Data From an API – Step 4
Creating an APEX App Using Data From an API – Step 4
December 02, 2022
Creating an APEX App Using Data From an API – Step 3
Creating an APEX App Using Data From an API – Step 3
December 02, 2022
Creating an APEX App Using Data from an API – Step 2
Creating an APEX App Using Data from an API – Step 2
December 02, 2022
SUBMIT YOUR COMMENT
logo for footer

Viscosity's core expertise includes:

Data Transformation, Emerging Technology, High Availability & Scalability Solutions, Cloud Migrations, Performance Tuning, Data Integrations, Machine Learning, APEX Development, and Custom Application Development.


Solutions

Resources

Partnerships

Careers

Clients

 

Contact
Email: sales@viscosityna.com

Telephone:
(469) 444-1380

Address:
3016 Communications Pkwy Suite 200, Plano, TX 75093

Copyright 2025. All Rights Reserved by Viscosity North America.