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.
- Clone project
- Add google-services.json (get one here or use your own) to your app module (at this folder)
- In case you haven't, download kotlin plugin in your Android Studio
- Before building, choose
demo
build variant (notprod
). If you want to useprod
, read next sections. - Run.
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.
- For it to work, you'll have to add the file
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?
There are a few classes written in Kotlin. First time using Kotlin, feel free to give any feedback.
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.
One of my main goals with this project was to get introduced to RxJava + MVVM. Once again, feel free to give feedback.