File Structure

An outline of the file structure which is used in bot-written applications.

While many files are controlled by the contents of the Entity, The User Interface Diagram and Using the Security diagram diagrams, there exists a base high-level file structure that remains consistent for all apps.

This file structure is consistent across both C#Bot and SpringBot.


├── clientside
├── docker-compose.yml
├── models
│   ├── entity
│   ├── security
│   └── ui
├── serverside
├── _shortcuts
│   ├──
│   ├──
│   ├── mac_start.command
│   ├── mac_stop.command
│   ├── windows_start.ps1
│   └── windows_stop.ps1
└── testtarget
Directory/File Description
clientside Contains the client-side source code for the application (i.e the Angular or React components)
docker-compose.yml Docker Compose File for developing/running your application
models The serialised diagrams which were built on the platform. See below for more information.
serverside The server-side source code for the application. This contains the C# or Java components.
_shortcuts Shortcut scripts for starting and stopping your application using Docker
testtarget The integration tests for the application, written separately and based on the technologies used by the respective bots.

The models folder

While the other directories are relatively self explanatory and can be found in many other projects external to Codebots, the models directory is special.

One of the key benefits of Codebots is that the platform does not follow a lock-in business model. Keeping with this, the key artefacts that are created on the platform, (the UI, Entity and Security diagrams) are serialised and placed within your file structure for external use. These models are serialised into an XML format to allow for ease of use.

The models directory follows the following structure:

├── models
│   ├── entity
│   ├── security
│   └── ui
Directory Description
entity The model for the entity diagram.
security The model for the security diagram.
ui The model for the user interface diagram.