# Architecture ## Server, Database and File Uploads - **server** The server module defines all routes and extracts data from HTTP request and passes data to the **handler** module. - **handler** This is the main controller module that dispatches requests to various services and constructs back responses to send to the client. ### Services ... - **appunti** This module manages all things relating the _appunti condivisi_ pages, it talks with the **database** and **auth** modules. - **database** This is one of the "leaf" modules that doesn't depend on anything, its purpose is to talk to the database and return "low level data" stored there. For example instances of `time.Time` are represented as `string`s at this layer.