diff --git a/README.md b/README.md index f6826b5..f9a819a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,19 @@ # rust-api -An API written in Rust, which I used to learn the language. \ No newline at end of file +An API written in Rust, which I used to learn the language. + +## Project Structure + +The folder structure follows the structure of the URLs, e.g. the route for +`/hello/world` is found in the module `src/hello`. + +Each module contains the following base files: + +* `mod.rs`: defines the modules' content, and contains the route definitions. + The route functions themselves only contain the functionality needed to + represent the data, not acquire it. +* `controller.rs`: this file contains the actual logic of each route. If the + logic becomes too complicated to be contained inside a single file, + `controller.rs` becomes its own module folder named `controller`. +* `tests.rs`: this contains tests for the specific module. This can also be a + module directory if need be.