{"id":18929228,"url":"https://github.com/darshankumar89/giffy","last_synced_at":"2025-10-05T04:45:23.137Z","repository":{"id":80162117,"uuid":"82475448","full_name":"DarshanKumar89/giffy","owner":"DarshanKumar89","description":null,"archived":false,"fork":false,"pushed_at":"2017-02-19T18:34:29.000Z","size":3267,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-31T19:21:31.084Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DarshanKumar89.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-19T17:12:49.000Z","updated_at":"2017-02-19T18:34:31.000Z","dependencies_parsed_at":"2023-03-16T14:30:34.227Z","dependency_job_id":null,"html_url":"https://github.com/DarshanKumar89/giffy","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/DarshanKumar89%2Fgiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarshanKumar89%2Fgiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarshanKumar89%2Fgiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarshanKumar89%2Fgiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DarshanKumar89","download_url":"https://codeload.github.com/DarshanKumar89/giffy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239927824,"owners_count":19719835,"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-11-08T11:31:17.313Z","updated_at":"2025-10-05T04:45:18.108Z","avatar_url":"https://github.com/DarshanKumar89.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `angular-seed` — the seed for AngularJS apps\n\nThis project is an application skeleton for a typical [AngularJS][angularjs] web app. You can use it\nto quickly bootstrap your angular webapp projects and dev environment for these projects.\n\nThe seed contains a sample AngularJS application and is preconfigured to install the Angular\nframework and a bunch of development and testing tools for instant web development gratification.\n\nThe seed app doesn't do much, just shows how to wire two controllers and views together.\n\n\n## Getting Started\n\nTo get you started you can simply clone the `angular-seed` repository and install the dependencies:\n\n### Prerequisites\n\nYou need git to clone the `angular-seed` repository. You can get git from [here][git].\n\nWe also use a number of Node.js tools to initialize and test `angular-seed`. You must have Node.js\nand its package manager (npm) installed. You can get them from [here][node].\n\n### Clone `angular-seed`\n\nClone the `angular-seed` repository using git:\n\n```\ngit clone https://github.com/angular/angular-seed.git\ncd angular-seed\n```\n\nIf you just want to start a new project without the `angular-seed` commit history then you can do:\n\n```\ngit clone --depth=1 https://github.com/angular/angular-seed.git \u003cyour-project-name\u003e\n```\n\nThe `depth=1` tells git to only pull down one commit worth of historical data.\n\n### Install Dependencies\n\nWe have two kinds of dependencies in this project: tools and Angular framework code. The tools help\nus manage and test the application.\n\n* We get the tools we depend upon via `npm`, the [Node package manager][npm].\n* We get the Angular code via `bower`, a [client-side code package manager][bower].\n* In order to run the end-to-end tests, you will also need to have the\n  [Java Development Kit (JDK)][jdk] installed on your machine. Check out the section on\n  [end-to-end testing](#e2e-testing) for more info.\n\nWe have preconfigured `npm` to automatically run `bower` so we can simply do:\n\n```\nnpm install\n```\n\nBehind the scenes this will also call `bower install`. After that, you should find out that you have\ntwo new folders in your project.\n\n* `node_modules` - contains the npm packages for the tools we need\n* `app/bower_components` - contains the Angular framework files\n\n*Note that the `bower_components` folder would normally be installed in the root folder but\n`angular-seed` changes this location through the `.bowerrc` file. Putting it in the `app` folder\nmakes it easier to serve the files by a web server.*\n\n### Run the Application\n\nWe have preconfigured the project with a simple development web server. The simplest way to start\nthis server is:\n\n```\nnpm start\n```\n\nNow browse to the app at [`localhost:8000/index.html`][local-app-url].\n\n\n## Directory Layout\n\n```\napp/                    --\u003e all of the source files for the application\n  app.css               --\u003e default stylesheet\n  components/           --\u003e all app specific modules\n    version/              --\u003e version related components\n      version.js                 --\u003e version module declaration and basic \"version\" value service\n      version_test.js            --\u003e \"version\" value service tests\n      version-directive.js       --\u003e custom directive that returns the current app version\n      version-directive_test.js  --\u003e version directive tests\n      interpolate-filter.js      --\u003e custom interpolation filter\n      interpolate-filter_test.js --\u003e interpolate filter tests\n  view1/                --\u003e the view1 view template and logic\n    view1.html            --\u003e the partial template\n    view1.js              --\u003e the controller logic\n    view1_test.js         --\u003e tests of the controller\n  view2/                --\u003e the view2 view template and logic\n    view2.html            --\u003e the partial template\n    view2.js              --\u003e the controller logic\n    view2_test.js         --\u003e tests of the controller\n  app.js                --\u003e main application module\n  index.html            --\u003e app layout file (the main html template file of the app)\n  index-async.html      --\u003e just like index.html, but loads js files asynchronously\nkarma.conf.js         --\u003e config file for running unit tests with Karma\ne2e-tests/            --\u003e end-to-end tests\n  protractor-conf.js    --\u003e Protractor config file\n  scenarios.js          --\u003e end-to-end scenarios to be run by Protractor\n```\n\n\n## Testing\n\nThere are two kinds of tests in the `angular-seed` application: Unit tests and end-to-end tests.\n\n### Running Unit Tests\n\nThe `angular-seed` app comes preconfigured with unit tests. These are written in [Jasmine][jasmine],\nwhich we run with the [Karma][karma] test runner. We provide a Karma configuration file to run them.\n\n* The configuration is found at `karma.conf.js`.\n* The unit tests are found next to the code they are testing and have an `_test.js` suffix (e.g.\n  `view1_test.js`).\n\nThe easiest way to run the unit tests is to use the supplied npm script:\n\n```\nnpm test\n```\n\nThis script will start the Karma test runner to execute the unit tests. Moreover, Karma will start\nwatching the source and test files for changes and then re-run the tests whenever any of them\nchanges.\nThis is the recommended strategy; if your unit tests are being run every time you save a file then\nyou receive instant feedback on any changes that break the expected code functionality.\n\nYou can also ask Karma to do a single run of the tests and then exit. This is useful if you want to\ncheck that a particular version of the code is operating as expected. The project contains a\npredefined script to do this:\n\n```\nnpm run test-single-run\n```\n\n\n\u003ca name=\"e2e-testing\"\u003e\u003c/a\u003e\n### Running End-to-End Tests\n\nThe `angular-seed` app comes with end-to-end tests, again written in [Jasmine][jasmine]. These tests\nare run with the [Protractor][protractor] End-to-End test runner. It uses native events and has\nspecial features for Angular applications.\n\n* The configuration is found at `e2e-tests/protractor-conf.js`.\n* The end-to-end tests are found in `e2e-tests/scenarios.js`.\n\nProtractor simulates interaction with our web app and verifies that the application responds\ncorrectly. Therefore, our web server needs to be serving up the application, so that Protractor can\ninteract with it.\n\n**Before starting Protractor, open a separate terminal window and run:**\n\n```\nnpm start\n```\n\nIn addition, since Protractor is built upon WebDriver, we need to ensure that it is installed and\nup-to-date. The `angular-seed` project is configured to do this automatically before running the\nend-to-end tests, so you don't need to worry about it. If you want to manually update the WebDriver,\nyou can run:\n\n```\nnpm run update-webdriver\n```\n\nOnce you have ensured that the development web server hosting our application is up and running, you\ncan run the end-to-end tests using the supplied npm script:\n\n```\nnpm run protractor\n```\n\nThis script will execute the end-to-end tests against the application being hosted on the\ndevelopment server.\n\n**Note:**\nUnder the hood, Protractor uses the [Selenium Standalone Server][selenium], which in turn requires\nthe [Java Development Kit (JDK)][jdk] to be installed on your local machine. Check this by running\n`java -version` from the command line.\n\nIf JDK is not already installed, you can download it [here][jdk-download].\n\n\n## Updating Angular\n\nSince the Angular framework library code and tools are acquired through package managers (npm and\nbower) you can use these tools to easily update the dependencies. Simply run the preconfigured\nscript:\n\n```\nnpm run update-deps\n```\n\nThis will call `npm update` and `bower update`, which in turn will find and install the latest\nversions that match the version ranges specified in the `package.json` and `bower.json` files\nrespectively.\n\n\n## Loading Angular Asynchronously\n\nThe `angular-seed` project supports loading the framework and application scripts asynchronously.\nThe special `index-async.html` is designed to support this style of loading. For it to work you must\ninject a piece of Angular JavaScript into the HTML page. The project has a predefined script to help\ndo this:\n\n```\nnpm run update-index-async\n```\n\nThis will copy the contents of the `angular-loader.js` library file into the `index-async.html`\npage. You can run this every time you update the version of Angular that you are using.\n\n\n## Serving the Application Files\n\nWhile Angular is client-side-only technology and it is possible to create Angular web apps that\ndo not require a backend server at all, we recommend serving the project files using a local\nweb server during development to avoid issues with security restrictions (sandbox) in browsers. The\nsandbox implementation varies between browsers, but quite often prevents things like cookies, XHR,\netc to function properly when an HTML page is opened via the `file://` scheme instead of `http://`.\n\n### Running the App during Development\n\nThe `angular-seed` project comes preconfigured with a local development web server. It is a Node.js\ntool called [http-server][http-server]. You can start this web server with `npm start`, but you may\nchoose to install the tool globally:\n\n```\nsudo npm install -g http-server\n```\n\nThen you can start your own development web server to serve static files from a folder by running:\n\n```\nhttp-server -a localhost -p 8000\n```\n\nAlternatively, you can choose to configure your own web server, such as Apache or Nginx. Just\nconfigure your server to serve the files under the `app/` directory.\n\n### Running the App in Production\n\nThis really depends on how complex your app is and the overall infrastructure of your system, but\nthe general rule is that all you need in production are the files under the `app/` directory.\nEverything else should be omitted.\n\nAngular apps are really just a bunch of static HTML, CSS and JavaScript files that need to be hosted\nsomewhere they can be accessed by browsers.\n\nIf your Angular app is talking to the backend server via XHR or other means, you need to figure out\nwhat is the best way to host the static files to comply with the same origin policy if applicable.\nUsually this is done by hosting the files by the backend server or through reverse-proxying the\nbackend server(s) and web server(s).\n\n\n## Continuous Integration\n\n### Travis CI\n\n[Travis CI][travis] is a continuous integration service, which can monitor GitHub for new commits to\nyour repository and execute scripts such as building the app or running tests. The `angular-seed`\nproject contains a Travis configuration file, `.travis.yml`, which will cause Travis to run your\ntests when you push to GitHub.\n\nYou will need to enable the integration between Travis and GitHub. See the\n[Travis website][travis-docs] for instructions on how to do this.\n\n\n## Contact\n\nFor more information on AngularJS please check out [angularjs.org][angularjs].\n\n\n[angularjs]: https://angularjs.org/\n[bower]: http://bower.io/\n[git]: https://git-scm.com/\n[http-server]: https://github.com/indexzero/http-server\n[jasmine]: https://jasmine.github.io/\n[jdk]: https://wikipedia.org/wiki/Java_Development_Kit\n[jdk-download]: http://www.oracle.com/technetwork/java/javase/downloads\n[karma]: https://karma-runner.github.io/\n[local-app-url]: http://localhost:8000/index.html\n[node]: https://nodejs.org/\n[npm]: https://www.npmjs.org/\n[protractor]: http://www.protractortest.org/\n[selenium]: http://docs.seleniumhq.org/\n[travis]: https://travis-ci.org/\n[travis-docs]: https://docs.travis-ci.com/user/getting-started\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarshankumar89%2Fgiffy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarshankumar89%2Fgiffy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarshankumar89%2Fgiffy/lists"}