-
Notifications
You must be signed in to change notification settings - Fork 11
GSoC 2015 Progress Reports
#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?
- What am I going to achieve for next week?
- Enabling running separate threads for each unique feed.
- Saving monitored information in a database
- Writing GTFS data associated with the Real-time feeds (Using the OBA module http://developer.onebusaway.org/modules/onebusaway-gtfs-modules/current/)
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