# Green Proofs Software Stack

The following are the most important libraries in the core Green Proofs software development kit:

* **React:** Used to build the user interface of our application. React allows us to create reusable components, manage state efficiently, and ensure fast updates with its virtual DOM.
* **Typescript:**  Used in every part of the Green Proofs stack. TypeScript enhances JavaScript with static type definitions, which helps catch errors early during development and improves code maintainability and readability.
* **Postgres:** Used for the back-end database storage. Industry-standard relational SQL-compliant database that is used for most of the off-chain data.&#x20;
* **Kysely:** a type-safe and autocompletion-friendly typescript SQL query builder. Inspired by [knex](http://knexjs.org/). Mainly developed for [node.js](https://nodejs.org/en/) but also runs on [deno](https://deno.land/) and in the browser. Used to query Postgres DB.
* **Nest.JS:** Nest (NestJS) is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with and fully supports TypeScript (yet still enables developers to code in pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming). Under the hood, Nest makes use of robust HTTP Server frameworks like Express (the default) and optionally can be configured to use Fastify as well.
* **X-state:** Used for managing the state of our application (both for UI and backend processes), allowing us to model the state logic using finite state machines and state charts. XState provides robust state management with clear and predictable state transitions, making complex state logic easier to understand, maintain, and test.


---

# Agent Instructions: 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:

```
GET https://docs.energyweb.org/energy-solutions/green-proofs-by-energy-web/green-proofs-software-stack.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
