# Introduction

This spike provides a structured, hands-on walkthrough for integrating a full-stack application using a **non-standard tech stack** composed of:&#x20;

* **NestJS** for scalable backend development (Node.js + Typescript),
* **Prisma** as the ORM with **PostgreSQL** for relational data persistence,
* **Flutter** for cross-platform UI (Dart),
* **Docker** for containerised database services (PotgreSQL + pgAdmin),
* and **Dio** as the HTTP client on the frontend

The goal is to empower the team to:

* Understand the role and integration points of each technology.
* Establish best practices for REST API design and connection handling.
* Provide frontend-backend communication via well-documented, working code.

This guide is tailored for new contributors to the FindingNibbles project and is written to prioritise **clarity, setup reproducibility,** and **real-world project architecture.**&#x20;

By following the numbered steps found on the sidebar sequentially you will develop a sample FindingNibbles application and too develop an understanding of how each software works individually and interacts with one another.&#x20;

Finally, at the end there will be a tutorial on how to properly clone a FindingNibbles repository and set up all the necessary dependencies.&#x20;

Before you start be sure you have downloaded all the necessary software for your device.
