# Geoffrey Architecture **Note: Geoffrey V3 is in early development, and its design is likely to change.** ![Geoffry Architecture](figures/arch.svg) ## Database The database is the core storage of Geoffrey. All models will be stored here. It is tightly coupled with the GeoffreyAPI. ![DB Architecture](figures/db_arch.svg) ## Geoffrey API The API provides the main logic to how models are manipulated in the Database. It is split into two parts, the Command API and Model API. ### Command API This API will expose a set of commands that can be run to preform tasks in Geoffrey. The goal is to keep all the command logic here so the command front-end are simpler to create. ### Model API The Model API will provide a strict access to the underlying models of Geoffrey. It is more suited for web interfaces or operations that do not need to be constrained by commands. ## Front Ends The currently planned front ends are a Bukkit Plugin, a Discord Bot and the Web Interface.