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

# Introduction

Hey everyone! I'm José Flores, and I'm excited to take you on an incredible adventure into Blockchain and backend development. I've been absolutely fascinated by the great potential of blockchain technology — from using smart contracts to replace traditional middlemen to admiring Bitcoin's strength as a limited digital asset. With over seven years of experience as a software engineer and having entered the crypto world in 2016, I believe it's time to build and share what I've learned. In this tutorial, we'll explore blockchain integration to give you the skills to create your own Crypto Wallet Viewer backend application. Here's what you can expect:

### What We'll Cover:

* **Blockchain Basics**: Understand the foundational principles behind blockchain technology and how to interact with blockchain networks through APIs.
* **Backend Development with TypeScript**: Build a production-ready Express server with TypeScript, implementing proper typing and modern development patterns.
* **Database Integration**: Learn to work with MongoDB and Mongoose for user data management and persistence.
* **User Authentication**: Implement secure authentication using Passport.js with session management for user registration and login.
* **Bitcoin Integration**: Connect to Bitcoin APIs to query wallet balances and understand how to work with Bitcoin addresses.
* **Ethereum Integration**: Interact with the Ethereum blockchain to retrieve wallet balances and understand Web3 fundamentals.
* **API Development**: Design and build RESTful API endpoints for authentication and blockchain queries.

### Learning Goals:

By the end of this tutorial, you'll have a solid understanding of backend development and blockchain integration. You'll be able to:

* **Build Express APIs**: Create robust backend servers using Express.js and TypeScript, adhering to industry best practices.
* **Authenticate Users**: Implement secure user authentication and session management using Passport.js.
* **Query Blockchain Networks**: Retrieve wallet balances from Bitcoin and Ethereum blockchains through API integration.
* **Design Database Schemas**: Model and manage user data with MongoDB and Mongoose.
* **Structure Backend Applications**: Organize your code following MVC architecture patterns for maintainable applications.

### Recommended Prerequisites:

A basic grasp of JavaScript and familiarity with Node.js will be beneficial. Some experience with TypeScript is helpful but not required. Don't worry if you're new to Blockchain — we'll cover the essentials you need to get started.

### Interactive Learning Experience:

* **Hands-On Code Examples**: Follow along with code snippets and detailed explanations that you can reference in the GitHub repository.
* **Branch-Based Learning**: Each lesson is contained in its own Git branch, making it easy to follow along step-by-step.
* **Real Implementation**: Work with actual blockchain APIs and develop a fully functional backend application.

### Let's Dive In:

Prepare to unlock the power of backend development and blockchain integration. Whether you're looking to build your next project, showcase your skills to potential employers, or are simply curious about blockchain technology, this tutorial is for you. Let's make something incredible together. Ready? Let's jump into the world of blockchain backend development!
