...
File structure: what lives where?
- src
- Ushahidi
- Entity - Application entities
- Tool - Basic tools and tool interfaces
- Traits - Reusable traits
- Usecase - Application use cases, Data objects, and Repository interfaces
- Ushahidi
- spec - PHPspec tests for core application
- application
- classes
- Ushahidi
- Api.php - Abstract base class for all API controllers
- Controller
- Api - All API controllers
- Model - Application Models
- Ushahidi
- config
- environments - environment specific config overrides
- auth.php - config for kohana auth module
- database.php - database config
- init.php - init config, passed to kohana::init()
- media.php - config for kohana-media module
- modules.php - module paths to be loaded
- migrations 3-0 - Core 3.0 Minion Migrations scripts- database migrations
- routes
- default.php - Default route definitions, can be overridden per environment
- tests
- classes - PHPUnit tests
- features - Behat tests and contexts
- datasets - Datasets used in testing
- views
- api - api error views
- oauth - views for oauth authorization flow
- vendor - vendor libraries ie. gisconverter
- bootstrap.php - Kohana bootstrap file: loads and configures the kohana framework.
- classes
- modules
- koauth - Kohana OAuth module
- UshahidiUI
- classes
- Controller
- Main.php - Main controller: handles frontend routes (/<action>)
- Ushahidi
- Controller
- Main.php - Base class for main controller
- Controller
- Controller
- config
- ushahidiui.php - UI config, passed as JSON object to frontend JS
- media
- js
- lib - JS libraries
- app - Application JS. All files are loaded as requireJS modules
- collections - BackboneJS collections
- config
- Init.js - Require JS Init files, configures requirejs and initializes the app.
- controllers - controllers
- Controller.js - application controller, currently the only controller
- models - BackboneJS modles
- routers - Backbone JS routers
- AppRouter.js - application router, currently the only router.
- templates - handlebarsjs templates
- util - small utility modules
- views - BackboneJS views
- App.js - Main Application module: sets up main application class with regions, initializers etc
- tests - Frontend tests (not used yet)
- css - Frontend CSS, compiled and 3rd party css files (such as fontawesome)
- images - images for the frontend ui
- font - font files for the frontend ui
- scss - Source SCSS files
- js
- views
- index.php - frontend view: contains just the initial html, with an empty body.
- init.php - UshahidiUI module init script, add a single frontend route.
- Gruntfile.js - Grunt config, used to build SCSS files to CSS, compile requirejs files, etc
- classes
- httpdocs
- index.php - Loads and bootstraps Kohana..
- template.htaccess - .htaccess template file, copy to .htaccess and customize
- vendor - Composer modules