jakub-tucek / fit-checker

Fit-checker 2.0 for CTU FIT
MIT License
1 stars 0 forks source link

fit-checker

Fit-checker 2.0 for CTU FIT

What is FIT-Checker for iOS

FIT-Checker for iOS is a simple app which helps you to stay up to date with your latest classification.

tl; dr Quick setup

Content

Setup

Ok, quick setup is not that descriptive, lets make a tear down.

First things first, clone the repo from Github:

$ git clone https://github.com/jakub-tucek/fit-checker

Once the repository is cloned, you have to install dependencies. We use Carthage instead of CocoaPods as dependency manager. Follow this guide and install latest stable version of Carthage.

Because we believe that Swift and its ecosystem should be strongly typed and code validity should be checked at build time, we use SwiftGen to generate boilerplate code. For now, SwiftGen automatically generates Enums with text translations. Check this guide for SwiftGen installation walkthrough.

Now the dependencies itself. Nothing fancy, run:

$ carthage bootstrap --platform iOS

If you see any build errors after installation caused by incompatible Swift version, run update command on corrupted library with --no-use-binaries option. We are now experiencing some issues with KeychainAccess binary, so after the bootstrap finishes, we use:

$ carthage update KeychainAccess --no-use-binaries --platform iOS

Now you should be ready to run the app without any problem. If the app cannot be build, please create a new issue if it's not already created.

Supported features

Roadmap / Upcoming features

How it works

How the app works under the hood? For classification and courses informations we use Edux as main (eh, the only one) source. Since Edux does not have any APIs, FIT-Checker browse the web in background and parse HTML into model objects.

Login credentials stays on your device, FIT-Checker only uses it to obtain access tokens (usually once per session) to sign network requests.

Because iOS does not allow app to run itself periodically, local notifications are not supported yet but will be added in one of the future releases.

Project dependencies

We use external libraries to for a faster development, here is the list:

We would like to thank the community for such a great work. Big thanks goes to all the contributors of mentioned libraries.

Help needed!

While we are busy maintaining current features and adding new, the UI and UX are kinda neglected. We are looking for someone who can help us with some design improvements. Feel free to contact us or create an issue!

License

This repository is licensed under MIT.