[app-name]/ # app root directory |--_build/ # output build directory for gulp-processed files |__app/ # container for all user-generated app code | |__components/ # stateless components (e.g. features, shared UI widgets, shared services etc.) | | |__[component-1] # component 1, e.g `auth`, `profile`, `dashboard` etc. | | | |__index.js # module definition and dependencies | | | |__config.js # component specific configuration | | | |__[animation-name]-animation.js # component specific animation | | | |__[animation-name]-animation.spec.js # animation unit test | | | |__[filter-name]-filter.js # component specific filter | | | |__[filter-name]-filter.spec.js # filter unit test | | | |__[directive-name].html # directive template | | | |__[directive-name]-directive.js # component specific directive (can be a UI widget) | | | |__[directive-name]-directive.spec.js # directive unit test | | | |__[model-name]-model.js # component specific model | | | |__[model-name]-model.spec.js # model unit test | | | |__[service-name]-service.js # component specific service | | | |__[service-name]-service.spec.js # service unit test | | | |__[component-1].{scss|less} # component specific CSS | | | |__[image-name].{png|gif|jpg} # component specific images | | | |__data/ # component specific JSON data files and related assets | | | |__i18n/ # resource files with locale specific localization rules for this component | | | | |__en-US/ | | | | | |__[resource-name-1].json | | | | | |__[resource-name-2].json | | | | | |__... | | | | |__fr-FR/ | | | | |__... | | | | | | | |__vendor/ # 3rd party libraries used by this component | | | |__[sub-component-1.1]/ # sub-component of component 1, e.g. `signin` or `signout` | | | |__index.js # subcomponent module definition and dependencies | | | |__config.js # subcomponent specific config | | | |__[animation-name]-animation.js # subcomponent specific animation | | | |__... # same structure as `component-1`, except `app.js` module definition | | |__[component-2] # component 2, e.g. `video-player`, `analytics`, etc. | | | |__... | | |__helpers/ # a collection of various utilities not specific to any component, usually implemented as JS pure functions | | |__index.js | | |__checkmark-filter.js | | |__checkmark-filter.spec.js | | |__string-parser-service.js | | |__string-parser-service.spec.js | | |__... | | | |__layouts/ # layout specific partials | | |__default.html # default application layout | | |__home.html # home page layout, if different from default | | |__public.html # public section layout, if different from default | | |__secure.html # secure section layout, if different from default | | |__... | | | |__states/ # application UI states (can be 'routes/' if a concept of states is not used) | | |__[ui-state-1]/ # ui state 1 | | | |__index.js # state module definition and dependencies | | | |__config.js # state specific config | | | |__config.spec.js # state config unit test | | | |__[view-name]-controller.js # state controller | | | |__[view-name]-controller.spec.js # state controller unit test | | | |__[view-name].html # state view partial | | | |__[ui-state-1].scss # state specific CSS | | | |__[image-name].{png|gif|jpg} # state specific image(s) | | | |__i18n/ # resource files with locale specific localization rules for this state | | | |__[ui-state-1.1]/ # child ui state 1.1 | | | |__index.js # child state module definition and dependencies | | | |__config.js # child state specific config | | | |__config.spec.js # child state config unit test | | | |__[ui-state-1.1]-controller.js # child state controller | | | |__[ui-state-1.1]-controller.spec.js # child state controller unit test | | | |__[view-name].html # child state view partial | | | |__[ui-state-1.1].scss # child state specific CSS | | | |__[image-name].{png|gif|jpg} # child state specific image(s) | | | |__i18n/ # resource files with locale specific localization rules for this state | | |__[ui-state-2]/ # ui state 2 | | |__... | | | |__app.js # global app module definition and dependencies | |__config.js # global app configuration | |__index.html # application bootstrap entry page | |__bower_components/ # 3rd party vendor client libraries global to the entire app | |__angular/ | |__angular-animate/ | |__font-awesome/ | |__lo-dash/ | |__... | |__config/ # global project-wide config files not relevant to any existing folder, if any | |__node_modules/ # 3rd party vendor node.js modules global to the entire app | |__chai/ | |__gulp/ | |__gulp-grep/ | |__... | |__scripts/ # shell executable and config scripts | |__... | |__specs/ | |__e2e/ # end-to-end specs | | |__helpers/ # e2e specific helpers | | |__page-objects/ # collection of page objects | | | |__[page-object-name].js # page object | | | |__... | | |__[spec-name-describing-feature].js # e2e test | | |__protractor.config.js # protractor config file | | |__... | | | |__unit/ | |__helpers/ # unit test specific helpers | | |__matchers.js # customer matchers | | |__state-test-helpers.js # helper functions for testing UI router states | |__karma.config.js # karma config file | |__karma.setup.js # karma global vars and requires | |__... | |__bower.json |__gulpfile.json |__package.json |__README.md |__...