Rutgers Course Tracker v0.9

What is Rutgers Course Tracker?

In short, Rutgers Course Tracker (RCT) allows users to view courses and subscribe to their openings. Inspired by Abe Stanway's Schedule Sniper and Vaibhav Verma's python Sniper.

Additionally, users can view information about current and upcoming semesters. This includes prerequisites, course specific information and even professor ratings and details.
Once a section of course is tagged to be tracked, the app checks for openings at user selectable interval.

Motivations?

I started this project on January 14th 2015 out of desperation. Other "course sniping" solutions out there are focused on the New Brunswick campus, leaving me with very few options. In a few days I threw together something simple and it worked quite well. I began work on a full version and within a few weeks it was stable and presentable enough to be my first app on the Google Play Store.

How was it made?

RCT was developed in my spare time using Android Studio and Intellij 14.04. It was designed to take advantage of the Model-View-Presenter (MVP) architectural pattern which enabled me to create a robust, extensible and testable code base.

I owe the speed at which I developed the application to many open source libraries. Each one of them likely saved me from 3 days of headaches, debugging and testing. 3 of them in particular, RxJava, Retrofit and Dagger, greatly simplified my business code and reduced some very complex logic to child's play. I highly recommend using any of these libraries in you own applications.

Requirements

  • Android SDK.
  • Android 6.0 (API 23) .
  • Android SDK Tools (Gradle 1.5+)
  • Android SDK Build tools 23.0.2
  • Android Support Repository
  • MinSdkVersion 15

Libraries

The libraries and tools used include:

and more...

Licence

Copyright 2015 Tevin Jeffrey.

Licensed under the Apache License, Version 2.0 (the "License");  
you may not use this file except in compliance with the License.  
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software  
distributed under the License is distributed on an "AS IS" BASIS,  
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
See the License for the specific language governing permissions and  
limitations under the License.