Build Financial Software with Generative AI
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. brief contents contents preface acknowledgments about this book Who should read this book How this book is organized: A road map About the code liveBook discussion forum about the authors about the cover illustration Part 1 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 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 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 IAT 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 API 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 APIs 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 index
Similar books
MySQL® Notes for Professionals book
2018 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
Session C11: Ancient Cultural Landscapes in South Europe – their Ecological Setting and Evolution, Session C22: Gardeners from South America, Session S04: Agro-Pastoralism and Early Metallurgy Sessions, Session WS29: The Idea of Enclosure in Recent Iberian Prehistory, Session C88: Rhytmes et causalites des dynamiques de l'anthropisation en Europe entre 6500 ET 500 BC: Hypotheses socio-culturelles et/ou climatiques: Proceedings of the XV UISPP World Congress (Lisbon 4-9 September 2006) / Actes du XV Congrès Mondial (Lisbonne 4-9 Septembre 2006) Vol.36
2010 · PDF
THE BRITISH ARMY IN INDIA: ITS PRESERVATION BY AN APPROPRIATE CLOTHING, HOUSING, LOCATING, RECREATIVE EMPLOYMENT, AND HOPEFUL ENCOURAGEMENT OF THE TROOPS. with AN APPENDIX ON INDIA : THE CLIMATE OP ITS HILLS ; THE DEVELOPMENT OF ITS RESODRCBS, INDUSTRY, AND ARTS ; THE ADMINISTRATION OF JUSTICE ; THE BLACK ACT ; THE PROGRESS OF CHRISTIANITY ; THE TRAFFIC IN OPIUM ; THE VALUE OF INDIA ; PERMANENT CAUSES OF DISAFFECTION, AND OF THE RECENT REBELLION ; THE TRADITIONARY POLICY; MISGOVERNMENT BY NATIVE RULERS ; ANNEXATIONS OF THEIR TERRITORY, ETC.
1858 · PDF
Idries Shah 27 Books Collection : A Perfumed Scorpion, A Veiled Gazelle, Caravan of Dreams, Darkest England, Destination Mecca, Evenings with Idries Shah, Knowing How to Know, Learning How to Learn, Letters and Lectures of Idries Shah, Neglected aspects of Sufi study, Observations, Oriental Magic, Reflections, Seeker after Truth, Special Illumination, Special Problems in the study of Sufi ideas, Sufi thought and action, Tales of the Dervishes, The Dermis Probe, The Elephant in the Dark, The Englishman Handbook, Idries Shah Antology, The Magic Monastery, The natives are restless, wisdom of the Idiots PDF.
2022 · PDF
The travels of Capts. Lewis and Clarke from St. Louis, by way of the Missouri and Columbia rivers, to the Pacific ocean; performed in the years 1804, 1805 & 1806, by order of the government of the United States. Containing delineations of the manners, customs, religion, &c. of the Indians, comp. from various authentic sources, and original documents, and a summary of the Statistical view of the Indian nations, from the official communication of Meriwether Lewis. Illustrated with a map of the country, inhabited by the western tribes of Indians
1809 · PDF
Professional Linux kernel architecture ''Wrox programmer to programmer''--Cover. - ''What you are reading right now is the result of an evolution over more than seven years: After two years of writing, the first edition was published in German by Carl Hanser Verlag in 2003. It then described kernel 2.6.0. The test was used as a basis for the low-level design documentation for the EAL4+ security evaluation of Red Hat Enterprise Linux 5, requiring to update it to kernel 2.6.18 (if the EAL acronym does not mean anything to you, then Wikipedia is once more your friend). Hewlett-Packard sponsored the translation into English and has, thankfully, granted the rights to publish the result. Updates to kernel 2.6.24 were then performed specifically for this book''--P. ix
2008 · PDF