Skip to content

Bruno125/Unofficial-Ups

Repository files navigation

Demo-UPC

This is a fan made android version of UPC's official application, which is no longer available at the Play Store.

Find out about why and how I developed this project.

App preview

Setup

  1. Clone project
  2. Add google-services.json (get one here or use your own) to your app module (at this folder)
  3. In case you haven't, download kotlin plugin in your Android Studio
  4. Before building, choose demo build variant (not prod). If you want to use prod, read next sections.
  5. Run.

Build variants

There are two product flavors for this repo, you can find them on the build.gradle. Each one of them uses different repositories to access their info.

  • demo: this variant is for you to test the app.
    • It uses fake repositories which will provide enough logic for you to test the basic app features.
    • I've set up demo keys for you. You can change them if you want.
    • If you want to login, the username is "demo" and the password is "123456" (you can change it here)
  • prod: this is the variant that I use to create the app that I distribute to the users.
    • For it to work, you'll have to add the file appconfig.properties to the project root.
      • It contains the info about the base url and the secret keys for the frameworks I use. You can find a sample here
      • It contains sensitive data, so for security, it's included on the .gitignore. It will never the pushed to this repository.   - It gets its data from these repositories. They connect with the university web services, so unless you have base url nothing will work. You won't find that url anywhere in this repo so don't bother searching it.

Project Structure

This app consists of a single module app. This may change in the future, though. That module is divided into packages:

  • Analytics: containts logic related to analytics tracking
  • Components/Base: just some base classes for my componnents
  • Data: contains the models, repositories, and sources from which the data is retrieved.
  • Modules: has a module for each app functionality. Most UI logic is here
  • Utils: Self explanatory?

Kotlin

There are a few classes written in Kotlin. First time using Kotlin, feel free to give any feedback.

Tests

The project also have tests (just a few). I'm still working on my testing skills so feel free to give any feedback. I'll appreciate.

RxJava + MVVM

One of my main goals with this project was to get introduced to RxJava + MVVM. Once again, feel free to give feedback.

Releases

No releases published

Packages

No packages published