> For the complete documentation index, see [llms.txt](https://driftserver.gitbook.io/drift-server/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://driftserver.gitbook.io/drift-server/master.md).

# What is Drift Server

Have you as a software developer ever been in the following situation: you start working on a legacy code base. You have no clue what the application is doing or how it is implemented. Documentation is lacking or not up to date. &#x20;

Drift Server is a tool to help you in this kind of situation.  It is used to quickly gain some insights when you start working on a complex existing legacy code base. You can treat the whole system as a black box, start with a local database with as little data as possible and see what happens in the DB every time you do something in the front-end.

Say you want to know what the system is doing when you create a new user:&#x20;

1. Connect Drift Server to the same databases (or file systems) as  your legacy application. &#x20;

![The Drift  System Connections screen with an overview of the DB connections and file system directories](https://2718803548-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWAEKm9JcXd3RYhXC5W%2F-LlpcVu_pSFWqMSe-2_K%2F-LlpcYPx9SP4j8xFaHmS%2Fsystemconnections-0.0.3.png?alt=media\&token=58634694-ba5d-462e-bfbe-00ae15a457b5)

2\. Start a new recording from the recordings page

![Recordings page](https://2718803548-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWAEKm9JcXd3RYhXC5W%2F-LkxE-wX2UJkD85IPuIm%2F-LkxHNc0w0jmMjMgvQqq%2Frecordings.png?alt=media\&token=757aa98d-a060-4d45-be72-5775d0cce6aa)

3\.  Take an initial snapshot of the databases and filesystem as a baseline

![initial database database snapshot](https://2718803548-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWAEKm9JcXd3RYhXC5W%2F-LkxE-wX2UJkD85IPuIm%2F-LkxHOt_Zok7mO4QFMd3%2Frecording01.png?alt=media\&token=344f50a0-a104-4676-94f4-465fb05ab56f)

![initial filesystem snapshot](https://2718803548-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWAEKm9JcXd3RYhXC5W%2F-LlpeTbCYlkYq5aHy0sX%2F-LlpfL7a9-gmlGXM9GSm%2Frecording-filesystem-snapshot-0.0.3.png?alt=media\&token=8bcec30c-769a-499b-adc4-95da1ba2a800)

4\.  Change the state of the legacy system by interacting with it (e.g. by executing the usecase "creating a new user")&#x20;

When done, take another snapshot, to compare with the first one to see what the application actually did:

![Database Delta showing the delta between two Database Snapshots](https://2718803548-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWAEKm9JcXd3RYhXC5W%2F-LkxE-wX2UJkD85IPuIm%2F-LkxHPtLvCpK7gxGmqOR%2Frecording02.png?alt=media\&token=6878fb18-d738-4c5c-b3aa-24467327206d)

![Filesystem Delta showing the delta between two  Filesystem snapshots ](https://2718803548-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWAEKm9JcXd3RYhXC5W%2F-LlqlMdUipaXzGJewjpc%2F-Llqn9Yy5-UeF7kb-QXN%2Frecording-filesystem-delta-0.0.3.png?alt=media\&token=f4240678-b52f-407e-bcc5-8b703bfb6845)

Drift server is limited to a local development environment, with only a single user and with very low amount of data. It should work fine for about 10000 rows of data.&#x20;
