# Nodewood Architecture Concepts
In order to get the most out of Nodewood, there are some important architectural concepts to understand. These will help you understand how Nodewood's code is structured, and how to structure your code to work with, and not against, the framework.
- Cascading Filesystem: Learn how the
woodfolder interact, and how to override files in the
- Configuration: Learn how to store and load configuration values, and how to override said values for testing.
- Feature-based Development: Nodewood breaks up code into "feature" folders to avoid having giant folders full of unrelated files. Learn how these features work.
- Models: Models in Nodewood aren't the ORM you're used to - in fact they have no database access at all! Why, and how to use them, is explained here.
- Validators: Validating your forms and API endpoints are critical ways to increase security and user experience. Nodewood has systems in place to make it much easier to do both, with a minimal amount of code.
- Error Handling: Learn how errors are handled in Nodewood, and how to create and throw your own so that they are caught by Nodewood's global systems correctly.