Build Financial Software with Generative AI (From Scratch)
Book information
Description
Build working and regulation-compliant financial software—from scratch! The software used by banks, trading firms, and other financial services has special requirements at every level, from securing the UI to making sure backend services comply with a host of regulations. Build Financial Software with Generative AI (From Scratch) shows you how to deliver full stack financial services software—and how generative AI can make you even more productive. In Build Financial Software with Generative AI (From Scratch) you will: • Explore the core concepts of FinTech • Speed development with generative AI tools • Develop and deploy containerized services • Create and document APIs • Effectively visualize your data In Build Financial Software with Generative AI (From Scratch) you’ll build working software for processing Automated Clearing House (ACH) files, a cornerstone technology of banking that moves trillions of dollars every year. You’ll work with generative AI technology throughout the full stack application, including researching the tech for your application, spinning up a bare bone starting project, answering domain questions, clarifying functionality, and troubleshooting. Along the way, you’ll learn what sets FinTech projects apart from normal web apps. About the technology The financial industry is awash with regulatory and compliance challenges, complex technical requirements, and stringent security demands. There’s a huge demand for developers who can create financial services software and this book will get you started. You’ll build your own FinTech app from the ground up—with a big productivity boost from Generative AI! About the book Build Financial Software with Generative AI (From Scratch) guides you through modernizing a full-stack Automated Clearing House (ACH) application, layer-by-layer. You’ll start with a quick review of FinTech basics and an introduction to GenAI tools. Then, you’ll develop a data visualization dashboard with React, containerize components with Docker, create and refine APIs, implement backend processing, and even design a custom database. Throughout, you’ll see how AI tools aid with coding, testing, research, security, documentation, and even Agile practices. What's inside • Learn the core concepts of FinTech development • Create and document APIs using Generative AI • Build an awesome data visualization dashboard About the reader Examples are in Python. No experience with generative AI or financial services required. About the author Christopher Kardell and Mark Brouwer have both spent more than 20 years working in the Fintech industry. Build Financial Software with Generative AI (From Scratch) copyright contents dedication preface acknowledgments about this book about the authors about the cover illustration Part 1 FinTech and the Automated Clearing House 1 Exploring FinTech and generative AI 1.1 The Futuristic FinTech project 1.2 ACH dashboard 1.2.1 How important is the ACH? 1.3 SAFe Agile 1.4 The ACH dashboard 1.4.1 Tools of the trade 1.5 A first look at generative AI 1.5.1 A better rubber duck 1.5.2 Hello, Check 21! 1.5.3 Help! This code is not working! 1.5.4 Help! I forgot the syntax! 1.5.5 Did I just give away my data? 1.5.6 Privacy and security 1.5.7 Staying up to date 2 Parsing payments 2.1 Modernizing our legacy software 2.2 Understanding the ACH 2.3 Parsing an ACH file 2.3.1 Asking ChatGPT to parse an ACH file 2.3.2 Parsing an ACH file with Copilot 2.3.3 Generative AI: Trust but verify 2.4 Automated testing 2.4.1 Testing the number of records read 2.4.2 Parsing the records 2.4.3 File header record (type 1) 2.4.4 Batch header record (type 5) 2.5 Entry detail record (type 6) 2.5.1 Addenda record (type 7) 2.5.2 Batch control record (type 8) 2.5.3 File trailer record (type 9) 2.5.4 Passed! 2.6 The not-so-happy path 2.6.1 File rejection 2.6.2 Batch rejection 2.6.3 Entry rejection 2.7 Interpreting the code 2.7.1 Where’s my switch statement? 2.7.2 Type hints 2.7.3 Secure coding Part 2 A path to the minimum viable product 3 Getting started with Docker 3.1 Where to begin 3.2 Creating a docker-compose.yml file 3.2.1 Creating a CloudBeaver container 3.2.2 Create a PostgreSQL container 3.2.3 API container 3.2.4 Web server container 3.3 Connecting our containers 3.3.1 Connecting to the database 3.3.2 Troubleshooting PostgreSQL and FastAPI 3.4 Calling our API 3.4.1 Troubleshooting our web site 3.5 Container security 3.6 Optimizing Docker 3.6.1 General maintenance 3.6.2 Optimizing image size 3.6.3 Optimizing build time 3.7 Removing the hardcoded username/password 3.8 Health checks 4 APIs: The piping between our components 4.1 API-driven design 4.2 Our APIs 4.3 Building our APIs with FastAPI 4.3.1 Retrieving files with GET /files 4.3.2 Adding a file with POST /files 4.3.3 Finishing the rest of the APIs 4.4 Adding our API to Docker 4.4.1 Preparing the project 4.4.2 Docker setup 4.5 Documenting our API 4.5.1 Swagger 4.5.2 Redoc 4.5.3 What is so great about API documentation? 4.6 Managing our APIs 4.6.1 Benefits of API management 4.6.2 Adding WSO2 API manager to our project 4.6.3 OpenAPI Version 4.6.4 Create an API in WSO2 4.6.5 Troubleshooting 4.7 Testing with Postman 4.8 Load testing with Locust 4.9 Improving our code 4.9.1 Using a prefix and versioning 4.9.2 Adding Pydantic 4.9.3 Validation with Pydantic 4.9.4 Troubleshooting Pydantic 5 Storing our ACH files 5.1 Designing our database 5.2 Using SQL directly 5.2.1 Adding records to the ach_files table 5.3 Storing the file header record 5.3.1 Using generative AI 5.3.2 Full example 5.4 Storing the rest of our ACH records 5.4.1 Storing ACH files challenge: Lessons learned 5.5 Storing exceptions 5.6 Uploading an ACH file 5.7 Storing records with integrity 5.8 Using Pydantic 5.9 Lessons learned 5.10 Coding changes 5.10.1 Creating Pydantic schema for the unparsed ACH records 5.10.2 Creating Pydantic schema for the parsed ACH records 5.10.3 Unit test changes 5.11 Design and different approaches 6 Taking the next step with Next.js 6.1 Getting started with Next.js 6.2 Creating an upload page 6.2.1 Testing our upload page 6.3 Refactoring our navigation 6.4 Converting recent order to recent ACH uploads 6.5 Mocking our ACH uploads data 6.5.1 Adding WireMock to Docker 6.5.2 Setting up mappings in WireMock 6.5.3 Accessing endpoints with axios 6.6 Expanding the UI with an ACH batch view 6.6.1 Defining our WireMock data for the ACH batch view 6.6.2 Updating the dashboard to take us to the batches screen 6.6.3 Displaying batch details 6.7 Creating a ScatterPlot component 6.7.1 Scatterplot component 6.7.2 Scatterplot custom tooltip 6.7.3 Scatterplot custom ticks 6.7.4 Using colors for the chart 6.8 Deploying the dashboard in Docker 7 Our minimum viable product 7.1 Which minimum are we talking about? 7.2 Preparing for the MVP 7.3 Building out the /files APIs 7.3.1 Testing the API 7.4 ACH batches APIs 7.4.1 Adding the /files/id/batches API 7.4.2 Supporting ACH batches in the dashboard 7.4.3 Uploading files 7.5 Putting the puzzle together 7.5.1 Cleaning up the configuration files 7.5.2 Ensuring APIs are accessible 7.5.3 Programming challenges 7.5.4 Exploring the dashboard 7.6 Gotta have more files 7.7 Adding a basic login page 7.8 Adding TLS to our dashboard 7.9 Testing with Playwright 7.10 MVP wrap-up 7.10.1 Troubleshooting the MVP Part 3 Beyond the minimum viable product 8 Exceptions 8.1 Planning enhancements 8.2 Exceptions and warnings 8.3 Creating ACH files with exceptions 8.3.1 Creating ACH files with file-level exceptions 8.3.2 Creating ACH files with batch-level exceptions 8.3.3 Creating ACH files with entry-level exceptions 8.3.4 Clean-up of our file creation syntax 8.4 Expanding the ACH processing for exceptions 8.4.1 ACH exceptions in the database 8.4.2 Recovery options 8.5 Updating the ACH parser 8.5.1 Creating unit tests for the exceptions 8.5.2 Supporting the exceptions in our parser 8.5.3 Validation in Pydantic 8.6 Updating the APIs 8.6.1 Retrieving an unparsed record 8.7 Insights into exceptions with the UI 8.7.1 Showing all the exceptions 8.7.2 A visual cue for exceptions 8.8 Additional UI changes 8.8.1 Creating an exceptions component 8.8.2 Batch statistics component 8.8.3 Adding the application 8.8.4 Making our UI more responsive 9 Searching and auditing 9.1 Sprint planning 9.2 Searching ACH transactions 9.2.1 BDD testing for searching 9.2.2 Search API 9.2.3 UI search page 9.2.4 Integration testing with Playwright 9.3 Auditing user interactions 9.3.1 Database design 9.3.2 TDD testing for auditing 9.3.3 Auditing logic 9.4 Using middleware for our logging 9.5 Viewing the audit log 9.5.1 Creating the page 9.5.2 Creating the page components 9.5.3 Adding the APIs for the audit log 10 Company information 10.1 Sprint planning 10.2 Company Information 10.2.1 Database design: Company information 10.2.2 Using generative AI to generate mock data 10.2.3 API design 10.2.4 User interface 10.3 Company dashboard 10.3.1 Navigation for the company dashboard 10.3.2 Creating ACH files for our companies 10.4 Company Information component 10.5 Recent Batches component 10.5.1 Implementing the recent batches API 10.5.2 Displaying recent batches 10.6 Expected Files component 10.6.1 Storing expected files 10.6.2 Implementing the expected files API 10.6.3 Displaying the expected files 10.7 Company Limits component 10.7.1 Storing the company limits 10.7.2 Implementing the company limits API 10.7.3 Displaying the company limits 11 International ACH transactions and OFAC scanning 11.1 Sprint planning 11.2 International ACH transactions 11.2.1 IAT batches: An overview 11.3 Creating IAT batches 11.3.1 Database changes 11.4 IAT record parsing 11.5 IAT file processing 11.5.1 Unit testing 11.5.2 Updating file processing 11.6 Effects on the dashboard 11.6.1 The get_batches method 11.6.2 Batch entries 11.7 OFAC scanning 11.7.1 Sanctioned individuals and countries 11.7.2 Scanning for individuals 11.8 Application programming interface 11.8.1 Unit test 11.8.2 Creating the endpoint 11.8.3 Finishing the API 11.9 User interface 11.9.1 The OFAC page 11.9.2 OFAC components 11.9.3 OFAC results 12 Where to go from here 12.1 Backend processing 12.1.1 Asynchronous processing 12.1.2 ORM frameworks 12.1.3 Application programming interfaces 12.2 Infrastructure 12.2.1 Docker 12.2.2 Multitenant environment 12.2.3 Continuous integration and delivery 12.2.4 Testing 12.2.5 Database 12.3 User interface 12.3.1 Charts and forms 12.3.2 Configurable dashboards 12.3.3 Mobile version 12.4 Finance 12.4.1 Accounts and customers 12.4.2 ACH origination and returns 12.4.3 Positive Pay 12.4.4 Service charges 12.5 Final thoughts
Similar books
EXCEL 2023 CRASH COURSE: Master Excel 2023 With This Complete Crash Course In 7 Days
2022 · EPUB
The arraignment and tryall with a declaration of the Ranters also, several sentences proceedings at the sessions in the Old-Baily, and Councel of War: their protestations and the hanging of one up by the thumbs; with divers penalties to be inflicted upon others. The dancing and revelling of Dr. Buckeridge and his wife, and other gent. dancing all in white, in Berkshire, and their Christmas carol. A dispute between a Ranter in Bridewel, and one that came to see him; with his creed and pater noster: and the names of the false gods they worship. As also, a list of many of the Ranters, from whence they are derived: and of many hundreds of them in England
2019 · EPUB
The discoverer; vvherein is set forth (to undeceive the nation) the reall plots and stratagems of Lievt. Col. John Lilburn, Mr. William Walwyn, Mr. Thomas Prince, Mr. Richard Overton, and that partie ... Namely, under the pretence and colour of libertie ... a most dangerous and destructive designe is carried on to deprive the nation of their religion, rights, liberties, proprieties, lawes, government, &c. and to bring a totall and universall ruine upon the land. And so much is here clearely proved. The first part
2019 · EPUB
An act to impower Sir John Molesworth: Baronet, and Joseph Moyle, Esquire, Two of the surviving Trustees, in an Indenture, dated the Twenty-Fifth Day of December One thousand Seven hundred and Forty-Three, to raise the several Sums in the said Indenture mentioned, or such of them as are still unsatisfied, and pay the same, as well as the rest of the personal Estate of Hugh Gregor, deceased, to such Person as Jane Gregor, an Infant, shall marry during her Infancy, with the Consent of the surviving Trustees, and of her Guardians
EPUB
Case Histories
2008 · EPUB
Pandora's Seed: The Unforeseen Cost of Civilization
2010 · EPUB
Obama's Wars
2010 · EPUB
Trickle Up Poverty: Stopping Obama's Attack on Our Borders, Economy, and Security
2010 · EPUB