Skip to content

Instantly share code, notes, and snippets.

@brian-mann
Last active September 3, 2017 20:14
Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save brian-mann/7085402 to your computer and use it in GitHub Desktop.
Save brian-mann/7085402 to your computer and use it in GitHub Desktop.
The latest and greatest folder and file structure for Backbone / Marionette Apps
##Folder structure
/backbone
app.js
/apps
/entities
/lib
##Inside Apps
/apps
/header
/list
/footer
/show
/users
/list
/edit
/new
/show
##Inside Entities
/entities
/abstract
buttons.js
links.js
user.js
admin.js
post.js
comment.js
##Inside Lib
/lib
/components ## all the reusable components here
/form
/pagination
/picker
/tree
/loading
/grid
/concerns ## all the reusable class mixins for views / entities / plugins
tooltips.js
chooseable.js
stickit.js
/controllers ## any controller you directly inherit from
application_controller.js ## same as base controller in the screencast
/entities ## base entities you inherit from
model.js
collection.js
/helpers ## HTML helpers used in the templates to generate HTML elements and form elements (like for bootstrap 3)
form_helpers.js
html_helpers.js
string_helpers.js
/templates ## shared templates used across views (rarely used)
_empty.jst.eco
/utilities ## application specific utilities usually attached to Marionette.Application.prototype
composition.js
fetch.js <-- this is where the when:fetched command moved to
mixins.js
registry.js <-- this is where the application's registry moved to as well
/views
_view.js
collection_view.js
composite_view.js
empty_view.js
item_view.js
layout.js
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment