{"id":13697153,"url":"https://github.com/RedFroggy/ionic2-nfc-app","last_synced_at":"2025-05-03T19:32:53.462Z","repository":{"id":103030969,"uuid":"53404821","full_name":"RedFroggy/ionic2-nfc-app","owner":"RedFroggy","description":"Ionic 2 sample app using NFC","archived":false,"fork":false,"pushed_at":"2017-01-02T18:22:35.000Z","size":2794,"stargazers_count":63,"open_issues_count":4,"forks_count":34,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-08-03T18:21:49.870Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RedFroggy.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,"roadmap":null,"authors":null}},"created_at":"2016-03-08T10:48:55.000Z","updated_at":"2023-09-20T09:03:03.000Z","dependencies_parsed_at":"2023-11-04T06:30:46.814Z","dependency_job_id":null,"html_url":"https://github.com/RedFroggy/ionic2-nfc-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedFroggy%2Fionic2-nfc-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedFroggy%2Fionic2-nfc-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedFroggy%2Fionic2-nfc-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedFroggy%2Fionic2-nfc-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RedFroggy","download_url":"https://codeload.github.com/RedFroggy/ionic2-nfc-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224373635,"owners_count":17300533,"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-08-02T18:00:53.174Z","updated_at":"2024-11-13T01:30:20.177Z","avatar_url":"https://github.com/RedFroggy.png","language":"TypeScript","readme":"[OUTDATED] CROSS PLATFORM NFC [![Build Status](https://travis-ci.org/RedFroggy/ionic2-nfc-app.svg?branch=master)](https://travis-ci.org/RedFroggy/ionic2-nfc-app)\n==========\n\n# Presentation\nAn NFC Reader application based on ionic2 and TypeScript (ES6)\n\n# Screenshots\n![image](http://i.imgur.com/zHDltDZ.png?2)\n![image](http://i.imgur.com/e3PT0fC.png?1)\n![image](http://i.imgur.com/PL38LTB.png?1)\n\n# IDE\nIntelliJ v15.0.3 or later is recommended for a better TypeScript support\n\n# Features\n- JWT authentication\n- Left menu\n- Login\n- Remember me (user saved in local storage)\n- Scan an nfc tag\n- Save a tag in local storage\n- List all saved tags\n- My account\n- Language selection\n- i18n application: French and english with dynamic reload\n- Unit tests\n   \n\n# Stack\n- Angular v2\n- Ionic Framework v2\n- Webpack\n- Karma\n- Jasmine\n- PhantomJS\n- Angular translate v2\n\n# Project Structure\n\n```\n- app: Application files (TypeScript)\n    -- app.ts: Ionic2 entry point\n    -- classes: Common classes\n    -- pages: Ionic views\n        --- app.html\n        --- login\n            ---- login.ts\n            ---- login.scss\n            ---- login.html\n        --- account\n        --- nfc\n        --- qr\n        --- tags\n    -- pipes: Angular2 @Pipe components\n    -- utils: Utility classes\n- www: Assets folder\n    -- index.html: Entry point\n    -- build (not in git repository): Production folder where sources are minified\n    -- css\n    -- i18n: 18n files\n        --- en.json\n        --- fr.json\n    -- img: Images of the application\n    -- js\n    -- res\n    -- spec: Unit tests folder\n        --- mocks: Cordvoa api mocks\n        --- src\n- typings: TypeScript interfaces for libraries\n    -- cordova\n    -- jasmine\n    -- lodash\n    -- moment\n\t-- phonegap-nfc\n- platforms (not in git repository): Installed platforms (android, ios, etc..) using ```$ionic add platform``` command\n- reports (not in git repository): Unit tests reports\n    -- junit (used by jenkins)\n    -- html\n- coverage (not in git repository): Coverage reports\n    -- Format text, json ,html and cobertura (xml)\n- doc (not in git repository): Generated TypeScript documentation\n- node_modules (not in git repository): NPM dependencies\n- plugins (not in git repository): Cordova plugins\n    -- cordova-plugin-barcodescanner\n    -- cordova-plugin-statusbar\n    -- cordova-plugin-vibration\n    -- phonegap-nfc\n    -- cordova-plugin-whitelist\n- ionic.config.js: Ionic configuration file\n- spec-bundle.js: Used for unit tests only with Karma, webpack and ES6\n- karma.conf.js: Karma configuration file for unit tests\n- webpack.test.config.js: Build configuration file used for unit tests\n- webpack.config.js: Build configuration file\n- tsconfig.json: TypeScript configuration file\n- tslint.json: TSLint configuration file\n- typedoc.json: TypeDoc configuration file\n- package.json: For managing npm dependencies\n    -- Scripts: ```$ npm test``` for executing unit tests through karma\n- config.xml: Phonegap configuration file\n- resources: Icons and splash resources for every platforms\n```\n\n\n# Installation\nInstall the node dependencies:\n```bash\n$ npm install\n```\nYou need to install the ionic command in version 2:\n```bash\n$ npm install -g ionic@beta\n```\nYou need to install the karma command:\n```bash\n$ npm install -g karma\n```\nYou need to install the cordova command\n```bash\n$ npm install -g cordova\n```\n\n# Typings\nTo search for typings :\n```bash\n$ typings search jasmine\n```\n\nTo add a typing :\n```bash\n$ typings install jasmine --save --ambient\n```\nFiles will be added to the typings folder. \n```\n\n# Execution on desktop\nFor starting the project on desktop:\n```bash\n$ ionic serve\n```\n\n# Install the following cordova plugins\nAlways use cordova (not phonegap) to add a new plugin\n```bash\n$ cordova plugin add cordova-plugin-barcodescanner\n$ cordova plugin add cordova-plugin-statusbar\n$ cordova plugin add cordova-plugin-vibration\n$ cordova plugin add cordova-plugin-whitelist\n$ cordova plugin add phonegap-nfc\n```\n\nEdit the config.xml file and add the following entries:\n```bash\n\u003cgap:plugin name=\"phonegap-nfc\" source=\"npm\" /\u003e\n\u003cgap:plugin name=\"cordova-plugin-statusbar\" source=\"npm\" /\u003e\n\u003cgap:plugin name=\"cordova-plugin-barcodescanner\" source=\"npm\" /\u003e\n\u003cgap:plugin name=\"cordova-plugin-whitelist\" source=\"npm\" /\u003e\n```\n\n# Allow external links\nTo allow externals links such as mailto,tel,sms etc:\nAdd allow intents in the config.xml files:\n```bash\n\u003callow-intent href=\"mailto:*\" /\u003e\n\u003callow-intent href=\"tel:*\" /\u003e\n\u003callow-intent href=\"sms:*\" /\u003e\n```\n\n# Execution on real Android device\n- First you need to retrieve the android sdk, then run the android SDK manager and download the last android version\n- Then you need to configure the ANDROID_HOME environment variable based on the location of your Android SDK folder.\n- You have to add the android platform in ionic\n```\n$ ionic platform add android\n```\n- Plug in your device to your computer via USB\n- Run: \n```\n$ ionic run android\n```\n- The application should be installed to your device and start automatically.\n- If you've got a \"wrong api version\" error, then edit the config.xml file in the source project and change \nthe android preference: android-minSdkVersion\n\n# TypeScript compilation in IntelliJ v older than 15.0.3\n- First, read this link: https://www.jetbrains.com/idea/help/transpiling-typescript-to-javascript.html\n- Basically you need to:\n    - Install TypeScript via npm\n    ```bash\n    $ npm install -g typescript \n    ```\n    - Download the typescriptServices.js, lib.d.ts, and lib.es6.d.ts files from https://github.com/Microsoft/TypeScript/.\n    - Go to File -\u003e Settings and click TypeScript under Languages \u0026 Frameworks\n    - Set the NodeJS installation folder path\n    - Select \"Enable TypeScript Compiler\"\n    - Click \"Edit\" in the Compiler version area\n    - In the Configure TypeScript Compiler dialog box that opens, choose Custom directory and specify the folder \n    where the downloaded typescript files are stored\n    - In the \"Command line options\" input, set this value: \"--module \"commonjs\" --experimentalDecorators\"\n    - Click \"Apply\" then \"OK\"\n- The TypeScript compiler should be set correctly.\n\n# TypeScript compilation in IntelliJ v 15.0.3 or later\n- First, read this link: https://www.jetbrains.com/idea/help/transpiling-typescript-to-javascript.html\n- Basically you need to:\n    - Install TypeScript via npm\n    ```bash\n    $ npm install -g typescript \n    ```\n    - Go to File -\u003e Settings and click TypeScript under Languages \u0026 Frameworks\n    - Set the NodeJS installation folder path\n    - Select \"Enable TypeScript Compiler\"\n    - Select \"Use tconfig.json\"\n    - Click \"Apply\" then \"OK\"\n- The TypeScript compiler should be set correctly.\n\n# Unit tests\nUnit tests are using:\n- Webpack (webpack.test.config.js)\n- Karma (karma.conf.js)\n- Jasmine\nTests file are under www/spec folder with suffix .spec.ts\n\nTo run tests: \n```bash\n$ npm run test\n```\nGenerate reports in junit and HTML.\n\nTo run test in browser mode, edit the karma.conf.js file and set 'singleRun' property to false\n\n# Quality code\nTSLint checks TypeScript code for errors, readability and maintainability.\ntslint.json is the configuration file for TSLint\nTo run TSLint:\n```bash\n$ npm run quality\n```\n","funding_links":[],"categories":["Boilerplate/Demo Apps"],"sub_categories":["Pipe"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRedFroggy%2Fionic2-nfc-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRedFroggy%2Fionic2-nfc-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRedFroggy%2Fionic2-nfc-app/lists"}