Open GPS Tracking System
Description
OpenGTS (Open Source GPS Tracking System) is a full featured web-based GPS tracking system for your fleet of vehicles. It supports OpenLayers and other map providers, detail/summary Reporting, and various GPS tracking devices.
Open GPS Tracking System Web SiteUser Ratings
User Reviews
-
Amazing System! More configurable! Efficient code! I like the way it structured!
-
The Java is bloated, as 100yan points out - but what's much worse for me (developing a PHP application to interface with this) is the database. The primary keys are all text-based and the database is... resistant... to changes, making it exceedingly difficult to uniquely identify devices without resorting to heavy-handed escaping and hashing. The entire layout of the tables is frustrating and usually unnecessary if the developer knows their way around SQL - for example, information easily viewed in EventData is duplicated in Device. Also, there are 3 fields consistently slapped on every table, relevant or not. The whole thing is a bit of a nightmare to modify.
-
Hi, First of all, many many thanks for a great Open Source GPS Tracking System and continuous update for the system... Through my 10 years of programming experience. I totally agree with 100yan. The code is completely too complicated, too many complicated call, reinventing the wheel, no clear-cut MVC, too much Servlet use where JSP should be used instead and on and on... If you just want to use it, or customized based on what is available in the config file, or update the interface, it's a good choice with so many great configurable params. BUT IF YOU WANT TO ADD FEATURES, CHANGE THE CODE, IT'S A NIGHTMARE...
-
OpenGTS is just an amazing example of over-engineering and pathological desire for code bloat and complexity. The worst java code I have seen for ages. The OpenGTS code is like a red book for anti-patterns. Basically the whole framework (or the most important part of it ) is statically coded so that each new server (device handler) should go through the Main class initialization route. Endless chains of call delegations ( loadDevice/loadDeviceBy for e.g ), code coupling, reinventing the wheel - the DB / XML configuration layers are just a marvelous pieces of code redundancy ! Guys, there are things like O/R mapping and XML binding API coming standard in Java, use them - it will benefit the users ! Use an Inversion of Control container (Spring/PicoContainer)- it will make the code modular. Have a look at sites like codinghorror.com more often, or just take a look at java4k.com to see how complete Super Mario/ Wolf3D games with multiple levels, sprites, physics and animations are done in just under 1000 lines of java code. Less is More guys, the KISS principle !!! And yes I can understand why OpenGTS is done like that. Enterprise support :) The more complex it is - the better the chances that nobody will have a clue how to integrate new servers without the help of the authors.
-
The best project about GPS tracking.
-
Great product. Tricky to install for people not familiar with Java but it's great.