> ## Documentation Index
> Fetch the complete documentation index at: https://ship-jskiller1404-add-ommiting-private-fields-feature.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Retool

## Installation guideline

1. Create an account at [Retool](https://login.retool.com/auth/signup) or request an invite to the existing project. At the moment Retool doesn't allow users to have multiple projects. So keep in mind that it's impossible to use one account on different projects.

2. Download the following `JSON` [config for users management](https://ship-docs.fra1.cdn.digitaloceanspaces.com/retool/users-management.json)

3. Import prebuilt applications: open `Apps` > ` Create New` > `From JSON` and choose downloaded file above.

<video controls className="w-full aspect-video" src="https://mintcdn.com/ship-jskiller1404-add-ommiting-private-fields-feature/Dwvni7a5iTfmtLdI/video/retool/import-project.mp4?fit=max&auto=format&n=Dwvni7a5iTfmtLdI&q=85&s=7c747c6426e423bb1c4f0189a38da326" data-path="video/retool/import-project.mp4" />

3. Attach resources (API or Database) for performing Retool queries: СRUD operations with data, HTTP requests, etc. Select the query, click on `Resource` and choose one. Look at the [App Resources](#app-resources) section to see how to connect different types of resources.

<video controls className="w-full aspect-video" src="https://mintcdn.com/ship-jskiller1404-add-ommiting-private-fields-feature/Dwvni7a5iTfmtLdI/video/retool/update-resources.mp4?fit=max&auto=format&n=Dwvni7a5iTfmtLdI&q=85&s=4a5c05123cbad3e258c5219ce38107f2" data-path="video/retool/update-resources.mp4" />

<Tip>
  Learn how to build more with Retool [documentation](https://docs.retool.com/docs/home).
</Tip>

## Predefined Apps

### Users Management App

The application is built for user administration, it can be extended and used as internal admin panel. The main features are:

* Users are displayed in the table.
* You can find a particular user.
* You can see the user's details and apply a set of actions to the user. Default actions are: `Update`, `Remove`, `Verify Email`.

<img src="https://mintcdn.com/ship-jskiller1404-add-ommiting-private-fields-feature/Dwvni7a5iTfmtLdI/images/retool/users-managment-table.png?fit=max&auto=format&n=Dwvni7a5iTfmtLdI&q=85&s=72c9b735566f8caf25b8fd36c06f7beb" alt="Add REST API" width="3356" height="1864" data-path="images/retool/users-managment-table.png" />

## App Resources

This section helps you to connect the resources that are used by predefined Retool apps.

### REST API

To connect [**API**](/api-reference/overview) service:

1. Select `REST API` resource
2. Give a name to the resource
3. Write `Base URL` of your server. For local development you need to [tunnel the traffic](#tunnel-http-traffic).
4. Add `x-admin-key` header. The value for `x-admin-key` is stored in config environments as `adminKey`.

<video controls className="w-full aspect-video" src="https://mintcdn.com/ship-jskiller1404-add-ommiting-private-fields-feature/Dwvni7a5iTfmtLdI/video/retool/resources-add-rest-api.mp4?fit=max&auto=format&n=Dwvni7a5iTfmtLdI&q=85&s=4d923eb30bb41f36c42069c53363421a" data-path="video/retool/resources-add-rest-api.mp4" />

### MongoDB

To connect **MongoDB** service:

1. Select `MongoDB` resource
2. Give a name to the resource
3. Select `Use a database connection string`. For local development you need to [tunnel the traffic](#tunnel-mongo-traffic).
4. Write `Connection String` of your database.  The value for `Connection String` is stored in config environments as `mongo.connection`.

<video controls className="w-full aspect-video" src="https://mintcdn.com/ship-jskiller1404-add-ommiting-private-fields-feature/Dwvni7a5iTfmtLdI/video/retool/resources-add-mongodb.mp4?fit=max&auto=format&n=Dwvni7a5iTfmtLdI&q=85&s=d2f53514756e6dbcb498ea58bf2c54d0" data-path="video/retool/resources-add-mongodb.mp4" />

<Tip>
  Learn how to use production and staging environments with Retool [documentation](https://docs.retool.com/docs/using-multiple-environments#configure-environment-resources).
</Tip>

## Local development

For some of [App Resources](#app-resources) will need to tunnel your local traffic.

### Tunnel http traffic

1. Install [ngrok](https://ngrok.com/)
2. Run `ngrok http <your-api-port>`

Link example:
`https://617c-93-125-14-163.ngrok.io`

### Tunnel mongo traffic

1. Install [ngrok](https://ngrok.com/)
2. Run `ngrok tcp <your-mongodb-port>`. You will see the forwarding link, for example `tcp:/2.tcp.ngrok.io:19888`.
3. Paste generated route to `mongodb://root:root@<generated-route>:19888/api-development?authSource=admin&replicaSet=rs&directConnection=true` link.

Link example:
`mongodb://root:root@2.tcp.ngrok.io:19888/api-development?authSource=admin&replicaSet=rs&directConnection=true`
