{"id":15018526,"url":"https://github.com/nativescript/sample-groceries","last_synced_at":"2025-04-04T07:06:51.341Z","repository":{"id":44994621,"uuid":"40321070","full_name":"NativeScript/sample-Groceries","owner":"NativeScript","description":":green_apple: :pineapple: :strawberry: A NativeScript-built iOS and Android app for managing grocery lists","archived":false,"fork":false,"pushed_at":"2019-11-19T11:43:14.000Z","size":122480,"stargazers_count":485,"open_issues_count":23,"forks_count":345,"subscribers_count":70,"default_branch":"master","last_synced_at":"2024-10-29T16:58:23.154Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NativeScript.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-06T18:38:27.000Z","updated_at":"2024-06-22T01:52:21.000Z","dependencies_parsed_at":"2022-09-24T09:40:11.641Z","dependency_job_id":null,"html_url":"https://github.com/NativeScript/sample-Groceries","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Fsample-Groceries","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Fsample-Groceries/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Fsample-Groceries/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Fsample-Groceries/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NativeScript","download_url":"https://codeload.github.com/NativeScript/sample-Groceries/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247135144,"owners_count":20889421,"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","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":[],"created_at":"2024-09-24T19:52:04.521Z","updated_at":"2025-04-04T07:06:51.317Z","avatar_url":"https://github.com/NativeScript.png","language":"TypeScript","readme":"# Groceries [![Build Status](https://travis-ci.org/NativeScript/sample-Groceries.svg?branch=master)](https://travis-ci.org/NativeScript/sample-Groceries)\n\nGroceries is a NativeScript-built iOS and Android app for managing grocery lists. You can learn how to build a version of this app from scratch using either our [JavaScript getting started guide](http://docs.nativescript.org/tutorial/chapter-0), or our [TypeScript and Angular getting started guide](http://docs.nativescript.org/angular/tutorial/ng-chapter-0).\n\n\u003c!-- * [Download](#download) --\u003e\n\n* [Screenshots](#screenshots)\n* [Development](#development)\n    * [Linting](#linting)\n    * [Unit testing](#unit-testing)\n    * [Travis CI](#travis)\n* [Contributors](#contributors)\n\n\u003ch2 id=\"screenshots\"\u003eScreenshots\u003c/h2\u003e\n\n![](assets/screenshots/ios-1.png)\n![](assets/screenshots/ios-2.png)\n![](assets/screenshots/ios-3.png)\n\n![](assets/screenshots/android-1.png)\n![](assets/screenshots/android-2.png)\n![](assets/screenshots/android-3.png)\n\n\u003ch2 id=\"development\"\u003eDevelopment\u003c/h2\u003e\n\nThis app is built with the NativeScript CLI. Once you have the [CLI installed](https://docs.nativescript.org/start/quick-setup), start by cloning the repo:\n\n```\n$ git clone https://github.com/NativeScript/sample-Groceries.git\n$ cd sample-Groceries\n```\n\nFrom there you can use the `run` command to run Groceries on iOS:\n\n```\n$ tns run ios\n```\n\nAnd the same command to run Groceries on Android:\n\n```\n$ tns run android\n```\n\n\u003ch3 id=\"linting\"\u003eLinting\u003c/h3\u003e\n\nGroceries uses [tslint](https://www.npmjs.com/package/tslint) + [codelyzer](https://github.com/mgechev/codelyzer) rules to ensure the code follows the [angular style guide](https://angular.io/docs/ts/latest/guide/style-guide.html).\n\nYou can run the linter with the `tslint` npm script:\n```\n$ npm run tslint\n```\n\n\u003ch3 id=\"unit-testing\"\u003eUnit Testing\u003c/h3\u003e\n\nGroceries uses NativeScript’s [integrated unit test runner](http://docs.nativescript.org/core-concepts/testing) with [Jasmine](http://jasmine.github.io/). To run the tests for yourself use the `tns test` command:\n\n```\n$ tns test ios --emulator\n```\n\n```\n$ tns test android --emulator\n```\n\nFor more information on unit testing NativeScript apps, refer to the [NativeScript docs on the topic](http://docs.nativescript.org/core-concepts/testing).\n\n\u003ch3 id=\"travis\"\u003eTravis CI\u003c/h3\u003e\n\nGroceries uses [Travis CI](https://travis-ci.org/) to verify all tests pass on each commit. Refer to the [`.travis.yml` configuration file](https://github.com/NativeScript/sample-Groceries/blob/release/.travis.yml) for details.\n\n\u003ch2 id=\"contributors\"\u003eContributors\u003c/h2\u003e\n\nThe following is a list of all the people that have helped build Groceries. Thanks for your contributions!\n\n[\u003cimg alt=\"tjvantoll\" src=\"https://avatars.githubusercontent.com/u/544280?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/tjvantoll)[\u003cimg alt=\"hdeshev\" src=\"https://avatars.githubusercontent.com/u/63219?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/hdeshev)[\u003cimg alt=\"vakrilov\" src=\"https://avatars.githubusercontent.com/u/4092076?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/vakrilov)[\u003cimg alt=\"Mitko-Kerezov\" src=\"https://avatars.githubusercontent.com/u/6683316?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/Mitko-Kerezov)[\u003cimg alt=\"jlooper\" src=\"https://avatars.githubusercontent.com/u/1450004?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/jlooper)[\u003cimg alt=\"rosen-vladimirov\" src=\"https://avatars.githubusercontent.com/u/8351653?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/rosen-vladimirov)\n\n[\u003cimg alt=\"SvetoslavTsenov\" src=\"https://avatars.githubusercontent.com/u/3598759?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/SvetoslavTsenov)[\u003cimg alt=\"ligaz\" src=\"https://avatars.githubusercontent.com/u/19437?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/ligaz)[\u003cimg alt=\"sis0k0\" src=\"https://avatars.githubusercontent.com/u/7893485?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/sis0k0)[\u003cimg alt=\"wdulin\" src=\"https://avatars.githubusercontent.com/u/1111372?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/wdulin)[\u003cimg alt=\"dtopuzov\" src=\"https://avatars.githubusercontent.com/u/6651651?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/dtopuzov)[\u003cimg alt=\"nadyaA\" src=\"https://avatars.githubusercontent.com/u/6064810?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/nadyaA)\n\n[\u003cimg alt=\"vchimev\" src=\"https://avatars.githubusercontent.com/u/12251337?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/vchimev)[\u003cimg alt=\"covex-nn\" src=\"https://avatars.githubusercontent.com/u/110878?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/covex-nn)[\u003cimg alt=\"bundyo\" src=\"https://avatars.githubusercontent.com/u/98318?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/bundyo)[\u003cimg alt=\"EddyVerbruggen\" src=\"https://avatars.githubusercontent.com/u/1426370?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/EddyVerbruggen)[\u003cimg alt=\"NathanWalker\" src=\"https://avatars.githubusercontent.com/u/457187?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/NathanWalker)[\u003cimg alt=\"nsndeck\" src=\"https://avatars.githubusercontent.com/u/5665150?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/nsndeck)\n\n[\u003cimg alt=\"tzraikov\" src=\"https://avatars.githubusercontent.com/u/3244426?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/tzraikov)[\u003cimg alt=\"TsvetanMilanov\" src=\"https://avatars.githubusercontent.com/u/10463529?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/TsvetanMilanov)[\u003cimg alt=\"bradmartin\" src=\"https://avatars.githubusercontent.com/u/6006148?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/bradmartin)[\u003cimg alt=\"cmelo\" src=\"https://avatars.githubusercontent.com/u/872461?v=3\u0026s=117\" width=\"117\"\u003e](https://github.com/cmelo)\n\n\u003c!-- Note: The table above get generated with the following commands --\u003e\n\u003c!-- npm install -g github-contributors-list --\u003e\n\u003c!-- githubcontrib --owner NativeScript --repo sample-Groceries --cols 6 --sortOrder desc | pbcopy --\u003e\n\n![](https://ga-beacon.appspot.com/UA-111455-24/nativescript/sample-groceries?pixel)\n\n### Big Thanks\n\nCross-browser Testing Platform and Open Source Provided by [Sauce Labs](https://saucelabs.com).\n\n[\u003cimg alt=\"SauceLabs\" src=\"assets/sauceLabs/SauceLabs-white.svg\" width=\"200\"\u003e](https://saucelabs.com)\n","funding_links":[],"categories":["Awesome {N} [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)"],"sub_categories":["Table of Contents"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnativescript%2Fsample-groceries","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnativescript%2Fsample-groceries","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnativescript%2Fsample-groceries/lists"}