[app-name]/ # app root directory |__.build/ # automatic build output directory |__.dist/ # distribution code |__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. | | | |__app.js # module definition and dependencies | | | |__config.js # config (constants, values, states, routes etc.) | | | |__[name]-animation.js # component specific animation | | | |__[name]-animation_test.js # animation unit test | | | |__[name]-filter.js # component specific filter | | | |__[name]-filter_test.js # filter unit test | | | |__[name]-directive.js # component specific directive (can be a UI widget) | | | |__[name]-directive_test.js # directive unit test | | | |__[name]-model.js # component specific model | | | |__[name]-model_test.js # model unit test | | | |__[name]-service.js # component specific service | | | |__[name]-service_test.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 libs used by this component | | | |__[sub-component-1.1]/ # sub-component of component 1, e.g. `signin` or `signout` | | | |__config.js # subcomponent specific config | | | |__[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. | | | |__... | | |__utils/ # a collection of various utilities not specific to any component, usually implemented as JS pure functions | | |__checkmark-filter.js | | |__checkmark-filter_test.js | | |__string-parser-service.js | | |__string-parser-service_test.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 | | | |__app.js # state module definition and dependencies | | | |__config.js # state specific config | | | |__[view-name]-controller.js # state controller | | | |__[view-name]-controller_test.js # state controller unit test | | | |__[view-name].html # state view template | | | |__[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 | | | |__app.js # child state module definition and dependencies | | | |__config.js # child state specific config | | | |__[ui-state-1.1]-controller.js # child state controller | | | |__[ui-state-1.1]-controller_test.js # child state controller unit test | | | |__[view-name].html # child state view template | | | |__[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 config (constants, values, states, routes etc.) | |__index.html # main application bootstrap entry page | |__bower_components/ # 3rd party vendor client libraries global to the entire app | |__angular/ | |__angular-animate/ | |__font-awesome/ | |__lo-dash/ | |__... | |__config/ # project related config files | |__karma.js # karma unit test runner config | |__protractor.js # protractor e2e test runner config | |__node_modules/ # 3rd party vendor node.js modules global to the entire app | |__chai/ | |__gulp/ | |__gulp-grep/ | |__... | |__scripts/ # shell executable and config scripts | |__... | |__tests-e2e/ # end-to-end tests | |__page-objects/ # collection of page objects | | |__[page-object-name].js # page object | |__[test-name].js # e2e test | |__... | |__tests-request/ # request tests (e.g. 3rd party API's are mocked) | |__... | |__bower.json |__gulpfile.json |__package.json |__README.md |__...