Full multi-tenancy client-side framework made up of various libraries
Library | Description | Why? |
---|---|---|
RequireJS | JS Module Loader | Modularize the project |
jQuery | Multi-utility | Various functionality |
Underscore | Multi-utility | Various helper methods |
Eventer | Event library | Listener/Observer Pattern |
BasicClass | OOP JS | Object Oriented Classes |
Module-Starter | Project Booter | Resource management and app bootstrap |
DomainView* | Data and View Modules | MVC type organization |
Handlebars | Templating | Reusable/modularized HTML |
Bootstrap | HTML/JS Framework | Various HTML/CSS/JS |
Bootstrap-Select | Pretty select controls | Rich UI/UX for dropdowns |
Bootlebars | Prebuild Bootstrap Templates | Standardized Templates |
MomentJS | Date/Time utility | Date/Time calculations and formatting |
TODO: Directions
├──{project}/
├── package.json
├── build_tools/
├── src/
│ ├── index.html
│ ├── App.js
│ ├── vendor/
│ ├── assets/
│ │ ├── img/
│ │ \── fonts/
│ ├── plugins/
│ ├── common/
│ ├── app/
│ │ \── {app}/
│ \── tenant/
│ \── {tenant}/
\── target/
TODO: Desc
TODO: Desc
TODO: Desc
TODO: Desc
TODO: Desc
TODO: Desc
TODO: Desc
TODO: Desc
TODO: Desc
TODO: Desc
TODO: Desc
This structure will be used within src/common, src/apps/{app}/, and src/tenant/{tenant}/.
├──/
├── config/
├── controller/
├── model/
├── view/
├── style/
├── template/
\── assets/
├── img/
\── fonts/
Tenant will have an exception, having another folder 'app/' which mimics the 'app/' directory from the top level, allowing for tenant-specific organization of app-specific modules.
TODO: Desc