SSU TimeTables is a project maintained by Plain Solutions, group of several students, which is created to bring university schedules to your palm - your mobile devices.
TT Project structure briefly can be described in this chart:
TT Core is a kernel of the TT Project. It connects two main structures: university website with timetables, database, containing pre-formatted entries, groups and departments lists and an interface to represent data in web-friendly format and deliver data to TT Platform - servlet module.
As you can see, we have a lot interfaces starting with Abstract. That means that TT Project can be applied nearly to any university having some source of timetables. Also it can be converted into a internal module of timetables engine in the universite. What are the modules that can be implemented and what do they do?
AbstractSQLManager- module that executes queries and works with storage: getting and putting department list, group list and timetables.AbstractQueries- definition of SQL queries, executed byAbstractSQLManagerimplementation. This allows different SQL providers usage.AbstractDataFetcher- module that works with parsing stuff: getting groups and departments from university, HTML parsing and temporary DB-friendly representation of them.TTDeliveryManager- module for unifying data between TT Core and TT Platform. It returns all the data from the database to clients with help of TT Platform.TTUpdateManagerandTTTimer- modules for replica maintaining. It checks and updates timetables, list of groups, department messages and departments list every day to keep it up to date. Also is responsible for dropping database each term.
This repository contains build for SSU for H2DB and LDF.
The whole library is built with Maven, but here is the brief list of main dependencies:
- Java 7 (jdk>=1.7.0)
- Your database driver. For us it is h2>=1.3.175
- Scheduling library: quartz >=2.2.1
Concurrent Development Branch:
Current Release: 2.1.0
TT Core Library is licensed under Apache License v2.
Plain Solutions Dev Team, namely:
- Vlad Slepukhin
- Sevak Avetisyan
- Nickolay Yurin
You can find more information (in Russian, however, we believe that all the developer information should be represeneted in Engish) in our VK community:
