{"id":15097025,"url":"https://github.com/pubxpo/mobsales","last_synced_at":"2026-02-12T00:03:35.533Z","repository":{"id":202950498,"uuid":"565584271","full_name":"PubXpo/MobSales","owner":"PubXpo","description":"Location-Based Mobile App: Widget Sales - An Android mobile program","archived":false,"fork":false,"pushed_at":"2022-11-13T21:34:26.000Z","size":69,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-28T19:46:43.833Z","etag":null,"topics":["android","cordova","npmjs","rest-api"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PubXpo.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-11-13T21:18:11.000Z","updated_at":"2022-11-16T01:29:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"40feefc6-47f8-4e53-a8e3-d415f354403d","html_url":"https://github.com/PubXpo/MobSales","commit_stats":null,"previous_names":["pubxpo/mobsales"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PubXpo/MobSales","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PubXpo%2FMobSales","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PubXpo%2FMobSales/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PubXpo%2FMobSales/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PubXpo%2FMobSales/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PubXpo","download_url":"https://codeload.github.com/PubXpo/MobSales/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PubXpo%2FMobSales/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272873500,"owners_count":25007553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cordova","npmjs","rest-api"],"created_at":"2024-09-25T16:03:44.411Z","updated_at":"2026-02-12T00:03:31.466Z","avatar_url":"https://github.com/PubXpo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003eWidget Sales\u003c/h1\u003e\n\nWidget Sales is a **free and open-source** stock ordering platform for the Android mobile OS. It gets clients and stock data from a remote server, generates orders and invoices and visualises delivery distances on a map. \n\n## Features\n\n### Real-Time Location\n\nWhen users launch the app, they see an interface and their current map position. Users must enter their ID, Password and client ID to interact with the widget and order features.\n\n### Begin order \n\nWhen clicking on Begin Order to start an empty order, displaying the orders along the day’s journey with markers, where the location of clients’ addresses are used to place the markers.\n\nAfter successfully beginning an order the user and client detail form gets disabled to prevent users from accidentally changing order details while in an order. The application then updates the map and informs the user of the total order for today’s journey for the client they are working on.\n\n### Navigate\n\nNavigating the widgets catalogue (with Previous and Next buttons) and display of widget images, in addition to the description and asking price.\n\nA user can interact with the Prev Widget and Next Widget buttons. This would update the image and product details and price.\n\n### Add to Order\n\nAdding the currently displayed widget to the order items, including the amount and the agreed price. The order is saved to the web service. \n\nEach time widget items are added to the order, the item is saved to web service then appended to the order list. So entries that is shown in the order list confirms that it was saved.\n\n### Displaying the sum of ordered items including VAT at a rate of 20%.\n\nScrolling down the order list will show the calculations of VAT and totals for that Order ID. It also contains the client details at the end of the list.\n\n### End the order\n\nClicking on end order, clears the order and returns the layout to begin order stage.\n\n## Deployment\n\n### Tech stack:\n\n- **Cordova** powers the REST API and mobile features\n- **AJAX** and JavaScript are used for the dynamic parts of the interface\n- **Node.js** powers the streaming API\n\n### Requirements:\n\n- **Openstack**\n- **HERE Map API Key**\n- **Node.js** 14+\n\nThe Sales App implements REST APIs to make calls to a remote server. To ensure that the information in transit is not incorrectly encrypted, the app must install the Cordova plug in:\n \t\n    cordova-plugin-enable-cleartext-traffic\n\nThis is attained by calling the following codes from the terminal:\n \n    cordova plugin add cordova-plugin-enable-cleartext-traffic\n    cordova prepare\n\n## License\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License along with this program. If not, see \u003chttps://www.gnu.org/licenses/\u003e.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpubxpo%2Fmobsales","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpubxpo%2Fmobsales","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpubxpo%2Fmobsales/lists"}