Skip to content
This repository has been archived by the owner on May 27, 2024. It is now read-only.

GSoC 2015 Progress Reports

nipuna edited this page Sep 7, 2015 · 5 revisions

#Progress reports s

###Week 1 (25th May - 31st May)

1. What do I have completed this week?'

During the community bonding period:

  • Setup and studied existing programs consuming and producing GTFS-Realtime data
  • Created html mock-ups for the UIs for the validator.

Week 1:

  • Setup the wiki page
  • Created jetty JSP application containing the html files.

2. What am I going to achieve for next week?

  • Create background task to download the GTFS files
  • Reading and identifying the type of GTFS-Realtime feed
  • Finalizing UI designs

3. Is there any blocking issue?

  • I will have to figure out the best way to run a background task for the next weeks work

###Week 2 (1st June - 7th June)

1) What do I have completed this week?

  • Posting the UI designs on the OTP and GTFS-RT mailing lists
  • Re-write of the Jetty application simplifying the code.
  • Added servlets to manage requests
  • Added prototype HTML pages as static pages
  • Reading and identifying the type of GTFS-Realtime feed (Demo: https://youtu.be/6_gcMlQ9BQA)
  • Created task to download the GTFS files to system.

2) What am I going to achieve for next week?

  • Cleanup of JavaScript for checking the URL
  • Figure out ways of identifying different feeds correctly. (What happens if a feed is empty?)
  • Creating a simple background task with progress indication for downloading the GTFS feed
  • Background task monitoring the GTFS feeds. (Proof of concept implementation that takes a simple input such as vehicle count over a period of time)

3) Is there any blocking issue?

  • No

###Week 3 (8th June - 14th June) 1) What do I have completed this week?

  • Implemented a simple background task monitoring the GTFS feeds.
  • Currently this runs the same code that was used in the OneBusAway Munin plugin.
  • Saves the received data to an SQLite database which can be accessed via a servlet for monitoring
  • Cleaned up some of the JavaScript
  • Some re-factoring (package name change, copyright changes etc)

2) What am I going to achieve for next week?

  • Figure out ways of identifying different feeds correctly. (What happens if a feed is empty?) (From last week. Need to complete)
  • Connection of the monitoring and feed validation parts. (Currently monitoring section of the application uses hard coded URLs)
  • Write unit tests for some simple condition (eg - TimeStamp format)
  • Refining the current method used to run a background process monitoring the feeds.
  • Need to discuss the suitability of the current method for running the background task with mentors.

3) Is there any blocking issue?

  • Final week of the semester kept me busy and caused me to lose some working hours GSoC. Will be catching up on next week.

###Week 4 (15th June - 21st June) 1) What do I have completed this week?

  • What do I have completed this week?
  • Changed the feed identification to a generalized form (No longer checks for a feed type)
  • Allowed adding variable amount of real-time feeds (No longer restricted to three)
  • The feed URLs are now passed on to the monitor page
  • Various javascript fixes for validating the URLs provided
  • Discussed the background task and changed to a singleton implementation (This will be extended to be able to monitor multiple feeds simultaneously next week)

2) What am I going to achieve for next week?

3) Is there any blocking issue?

  • No

###Week 5 (22nd June - 28th June) 1) What do I have completed this week?

  • Each real-time feed is now monitor in a separate thread. This thread is unique for a URL.
  • Saves values gathered in to a SQLite database.
  • Completed the basic flow of gathering GTFS data and monitoring GTFS-RT feeds (The basic architecture is completed in order to start monitoring the feeds)

2) What am I going to achieve for next week?

  • Discussing with mentors and setting a set of test cases to develop against in the coming weeks.
  • Start working on the first Test Case(s)
  • Finding more rules that should be checked against (wiki - validation rules)

3) Is there any blocking issue?

  • University exams will be held on the coming two weeks. (But, since we only have about 2 exams per week I should be able to catch up any missed work on the weekends.)

###Week 6 (29th June - 5th June) 1) What do I have completed this week?

  • Created a Readme file with instructions for setting up the application
  • Fixing the bugs that was preventing the application to run on a new install.
  • Discussing about setting test cases to develop against in the coming weeks.
  • Started working on writing the test cases

2) What am I going to achieve for next week?

  • Expanding the rule set in the wiki page
  • Start working on a cleaner API to access the monitored data
  • Start coding against on the first Test Case(s)

3) Is there any blocking issue?

  • No

###Week 7 (6th July - 12th July) 1) What do I have completed this week?

  • Expanding the wiki page
  • Added introduction page(wiki - home)
  • Listing out the rules on the wiki page in test format(wiki - rules)
  • Started working on a cleaner API to access the monitored data
  • Database overview (wiki - database)
  • Allowing monitoring to be done at variable time (commit)
  • Learning Unit testing with JUnit.
  • Started Checking the timestamps

2) What am I going to achieve for next week?

  • Finalizing the database and the way errors/warnings are stored
  • Creating a demo on the error display format
  • Start working on a set of rule validations

3) Is there any blocking issue?

  • None this week

###Week 8 (13th July - 19th July) 1) What do I have completed this week?

  • Started work on creating a demo on the error display format
  • Wrote the create queries to create the sqlite database

2) What am I going to achieve for next week?

  • Start smaller unit test with errors
  • Finalize UI for the error page
  • Load data to the new database
  • Have one end-to-end demonstration of how the errors are captured and stored then displayed using the unit tests.

3) Is there any blocking issue?

  • Developing to UI to highlight elements took longer than expected(not fully completed yet).
  • Last week of exams

###Week 9 (20th July - 26th July) 1) What do I have completed this week?

  • Creating the Restful API (Still some parts to be completed)
  • Started work on unit test with errors
  • Load data to the new database

2) What am I going to achieve for next week?

  • For the error page
  • Finalize UI and have one end-to-end demonstration of how the errors are captured and stored then displayed using the unit tests.

3) Is there any blocking issue?

  • None

###Week 10 (27th July - 2nd August) 1) What do I have completed this week?

  • Finalized Restful API and removed the redundant servlets
  • Capture errors relating to one GTFS-Rt feed
  • Started work on capturing errors relating to multiple GTFS-Rt feeds
  • Refactoring Database access code and removing redundant code

2) What am I going to achieve for next week?

  • Finalize one GTFS-Rt feed error capturing process
  • Display the errors on the web interface
  • Identify additional rules
  • Write the unit tests
  • Complete work on errors relating to multiple GTFS-Rt feeds
  • Start work on loading GTFS feed testing against Rt feeds

3) Is there any blocking issue?

  • No

###Week 11 (3rd August - 9th August) 1) What do I have completed this week?

  • What do I have completed this week?
  • Created REST methods for getting data in a displayable form
  • Methods created for storing and retrieving the errors found, feed protobuf file and other related * information on the database
  • Unit tests created for time-stamp validation
  • Checking errors related to multiple related GTFS-Rt feeds
  • Started work on loading GTFS feed testing with the associated Rt feeds (with testing trip ids)

2) What am I going to achieve for next week?

  • Re-organizing the set of rules in the wiki
  • Writing tests for all identified rules
  • Create a methodology for capturing rules to be validated
  • Finalizing interface for displaying the errors in an iteration
  • Testing the feasibility of adding validation rules as plugins

3) Is there any blocking issue?

  • No
Clone this wiki locally