An Introduction to the Enginey Source

timothyf edited this page Dec 1, 2010 · 6 revisions

If you are already familiar with Ruby on Rails application development, you will have a great head-start in understanding the EngineY source code and how it is structured.

The directory structure described below is the standard directory structure for a Rails application.

##Top level directories

app
The app directory contains the majority of the source code that implements EngineY. The source code for every Rails project is organized according to the MVC pattern. Thus within the app directory you will find subdirectories for controllers, helpers, models, and views.

config
This directory holds configuration files. Of immediate interest to you here will be the database.yml file. This file is where you will configure a database for use with your EngineY installation.

db
This directory holds all of the database migration scripts that define the structure of the database used by EngineY.

doc

lib
This directory contains some utility classes and a subdirectory of rake tasks that are used to initialize EngineY.

log
This directory contains the application log files. These files are useful for debugging errors that you get while running EngineY.

public
This directory holds all of the static content used by EngineY including JavaScript files, CSS stylesheets, and images.

script
This directory contains a set of scripts that are supplied by the Rails framework. As a developer you will use some of these scripts but you should never have to add new scripts or modify any existing scripts in this directory.

test
This directory contains all of the unit, functional, and integration tests for EngineY.

themes
This directory holds all of the theme specific files. Each theme is represented as a subdirectory within this directory. Within a theme directory, you can override any of the standard views contained in the app/views directory. You can implement views selectively without implementing all of the application views. Any views that are missing from your theme directory will revert to the standard views contained in the app/views directory.

vendor
The vendor directory contains any Rails plugins that EngineY uses.