This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| tracking:simpletrack_nextgen-2018-09-15 [2018/09/18 23:15] mjallison | 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 | * All core functionality enclosed in an Android Service | ||
| * Collection of locations and upload of same | * Collection of locations and upload of same | ||
| * Collection of gpsstat and upload of same | * Collection of gpsstat and upload of same | ||
| * Download vehicle save as local config | * Download vehicle save as local config | ||
| - | * Download of application controls configuration  | + | * Download of application controls configuration | 
| + | * Service with work with proper OS scheduling of uploads and other work | ||
| * Refactor to remove | * Refactor to remove | ||
| * Cycle-line and associated statistics calculations | * Cycle-line and associated statistics calculations | ||
| * Simplify configuration controls to only drive application - no project support | * Simplify configuration controls to only drive application - no project support | ||
| * Remove AGTEK_Lib from build of ST | * 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 | | ||