> For the complete documentation index, see [llms.txt](https://csnea-docs.mangregory.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://csnea-docs.mangregory.me/5.-documented-design.md).

# 5. Documented Design

The System will be developed in C#, however a lot of the backend will have to be supported by a correctly-structured database. This can be set up once for a single school or multiple times for many schools; the programs in C# will then be able to communicate with the database and constantly make changes. The language I am using is heavily object-oriented, thus enabling me to create classes to structuralise my code in a meaningful matter. The Desktop program will consist of three main forms, depending on who logs in. Furthermore, the mobile application will also be developed in C# with the aid of Xamarin, an open-source platform for developing Android and iOS apps with .NET and C#. The coding language necessary to design mobile application interfaces using Xamarin is called Extensible Application Markup Language (from now onwards XAML), which shares similarities with markup languages like HTML. The mobile application will consist of a three-tabbed main page which will be displayed only when a teacher is logged in, otherwise a login Content-Page will asynchronously be displayed, requiring the user to enter their login information.

The code will closely interact with the database to make any necessary changes to the tables required, and connections to the database server will only be made when necessary (the applications will not maintain an open connection to the database).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://csnea-docs.mangregory.me/5.-documented-design.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
