Lane United Football Club had the goal of replacing the old City of Eugene soccer league and wanted to modernize the previous paper-and-pencil method of managing teams and players. We created a custom web application for them that manages users, processes registration fees, and manages the schedule and scoring for the league. Check it out at https://publeagues.laneunitedfc.com.
Users can go to the site to create teams, join teams, invite others to their team, and view their team’s schedules and scores. Administrators can manage all of this straight from the website — and since it’s responsive, they can even do it straight from their phones.
While the goals of the current application were pretty well defined, we knew that the hope was that this would grow legs and become much larger down the road. In order to make it future-proof in some of the directions we thought it might go, we decided to build this as two separate items — a REST API back end that handles the data and logic, and a completely separate front end handling the views, with JSON data bridging the gap between the two pieces.
This allowed us to easily add and modify functionality of the front and back ends independently of each other, creating a more reliable development experience. Since the site is already passing JSON data around, it will be easy for LUFC to add mobile applications later. The data, logic, and endpoints already exist — the views within the mobile applications simply need to be created.
It wasn’t just about the separation of the back and front ends of the application. While there’s currently only a single league being managed on the site, we knew there’d be plans for additional leagues – so the data structure, the logic and everything else is already built around the concept of multiple leagues.
Here’s a thing about any website or web app: You don’t have to implement to whole enchilada right away. But if you keep your longer term goals in mind up front, you can create something is able to grow with you more easily.
That’s a good sign you need to talk with us.