This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| tracking:simpletrack_nextgen-2018-09-15 [2018/09/18 17:08] mjallison created | tracking:simpletrack_nextgen-2018-09-15 [2018/09/19 17:30] (current) mjallison [Table] | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Capture ideas of a rework/refactor of SimpleTrack. The goals of a refactoring are to eliminate known errors and deficiencies of the current version of SimpleTrack (V 1.2.X). | Capture ideas of a rework/refactor of SimpleTrack. The goals of a refactoring are to eliminate known errors and deficiencies of the current version of SimpleTrack (V 1.2.X). | ||
| + | **Goals:** | ||
| + | * Simply code base over 1.2 | ||
| + | * Reduce Android OS events preventing sending of positions | ||
| + | * Work with latest OS for power and schedule reasons | ||
| + | **Design Axioms:** | ||
| + | * Minimize computation | ||
| + | * Minimize network connections, work with scheduler, consolidate to single server connection | ||
| + | * All pending work stored in SQLite, points to upload will be in file. | ||
| + | * Vehicles/Projects in SQLite (to support drop downs) | ||
| + | * User credentials in SQLite | ||
| + | * User preferences in shared preferences | ||
| + | * All data in app private storage (uninstall removes everything) | ||
| + | * Use Firebase cloud storage to simplify configuration, all same google log in? | ||
| + | * UI ONLY sets values in DB/Shared Prefs, all business logic in service. | ||
| + | * Target Android 5 (Lollipo 22) as minimum usable SDK. | ||
| + | |||
| + | **Items to do:** | ||
| + | * All core functionality enclosed in an Android Service | ||
| + | * Collection of locations and upload of same | ||
| + | * Collection of gpsstat and upload of same | ||
| + | * Download vehicle save as local config | ||
| + | * Download of application controls configuration | ||
| + | * Service with work with proper OS scheduling of uploads and other work | ||
| + | * Refactor to remove | ||
| + | * Cycle-line and associated statistics calculations | ||
| + | * Simplify configuration controls to only drive application - no project support | ||
| + | * Remove AGTEK_Lib from build of ST | ||
| + | * Complete migration from Crashlytics to Firebase | ||
| + | |||
| + | **Rough Task List for Rough Estimate:** | ||
| + | ^ Task ^ Days ^ | ||
| + | | Write skeleton service  | 1 | | ||
| + | | Move location listener to service  | 1 | | ||
| + | | Service to update gpstat  | 1 | | ||
| + | | Service to download vehicles and projects  | 1 | | ||
| + | | Service to download config  | 2 | | ||
| + | | Remove cycle line calcs | 1 | | ||
| + | | Design new SQLite DB | 2 | | ||
| + | | Integrate job scheduler  | 5 | | ||
| + | | Port from crashlytics to Firebase  | 3 | | ||
| + | | Modify UI to alter shared prefs | 2 | | ||
| + | | **Total**  | 20 | | ||