S

Sportify

One More Game! Sportify is an application that works as a bridge between sports enthusiasts and complex owners.

The problem Sportify solves

It is very cumbersome and time-consuming for sports enthusiasts to find a nearby sports academy that meets their budget as well as provides optimum facilities.
There is no such digital platform promoting local sports academies, where a sports complex can showcase its profile and shine.
There is a high demand to create a bridge linking sports complexes and sports lovers.

SOLUTION-

CREATING A DIGITAL PLATFORM FOR SPORTS LOVERS
A platform with a user-friendly interface that allows users to find nearby sports complexes which meet their needs. Book slots in accordance with their convenience and availability.

ALLOW SPORTS COMPLEXES TO BUILD THEIR DIGITAL PROFILE
The platform also allows Sports Complexesto to Register and Showcase its facilities. It serves local complexes to reach out to the marketplace and rise.

BETTER CONNECTIVITY
The Player and Complex Owner can communicate via chat and call.

Challenges we ran into

The challenges that we ran into while building the project were:

  1. LinearLayoutManager: The application sometimes crashed when we used this Layout manager as the recycler view could not load instantly and fetch data from the passed ArrayList.
    Solution: We override the LinearLayoutManager explicitly by Wrapper to get a smoother experience and instant loading.
  2. Using get() to read data from FirebaseDatabase: The application couldn't read data efficiently, which sometimes crashed the application and several problems we had to face.
    Solution: We used addValueEventListener(), which helps read the data from the FirebaseDatabase without any bugs and crashes.
  3. Space at the top of the recycler view: The recycler view in the fragments consists of space at the top that was difficult to remove and didn't work according to the planned UI.
    Solution: We used isNestedScrollingEnabled, an attribute of the recycler view and set its value to false. Attribute helped to scroll in the recycler view without any space effortlessly.
  4. Starting a specific fragment on the back press: We faced many problems and errors when using supportFragmentManager to commit the fragment on an activity.
    Solution: We used putExtra to send the current state of the fragment while starting the intent. We received the current state of the fragment in the activity and then changed it accordingly.
  5. Chat Details adapter: It was challenging and tricky to use two View Holders in one adapter. We faced difficulty setting the type of the adapter and getting the view type of the adapter.
    Solution: We created two variables/states that define the view type. By using these variables, we changed the adapter to sender/receiver, according to our requirements.

Discussion