What you will learn in Build Financial Software with Generative AI (From Scratch)
Chapter by chapter
Concepts explained in this book
- ACH fileAn ACH file is a formatted fixed-width ASCII file containing payment records whose fields occupy prescribed character positions.
- generative modelingGenerative artificial intelligence, or generative AI, produces new content such as text, code, images, or other data from learned patterns and input.
- behavior-driven developmentBehavior-driven development is a software-development and testing practice that specifies expected behavior through human-readable examples accessible to technical and nontechnical stakeholders.
- foreign keyA foreign key is a database constraint that references a key in another table to link related records and enforce valid relationships.
- PydanticPydantic is a Python library for declaring data models and validating and serializing data using Python type annotations.
- endpointAn API endpoint is a network-accessible address or operation at which an API exposes a resource or functionality.
- contractAn application programming interface (API) is a defined interface through which software components communicate and request functionality or data.
- referential integrityReferential integrity is a database property that requires references between related records to remain valid and prevents references to nonexistent records.
- exceptionAn exception is an abnormal runtime condition that interrupts normal program execution and can be handled by application code.
- ChatGPTA conversational generative-AI system that responds to natural-language prompts and can generate text or code.
- unparsed recordAn unparsed record is a record retained in its original formatted representation without decomposition into database fields.
- verificationVerification is the process of checking generated or modified software for correctness, suitability, and understandability before relying on it.
- left outer joinA left join is a relational query operation that returns every row from the left relation and matching rows from the right relation, representing missing matches with null values.
- Docker ComposeDocker Compose is a tool for defining and running multi-container Docker applications from a declarative configuration file.
- international ACH transaction (IAT)An International ACH Transaction (IAT) is an ACH payment involving a financial agency outside the United States and subject to additional regulatory and formatting requirements.
- validationValidation is the process of checking data or inputs against defined correctness and acceptance rules.
- DockerDocker is a platform for packaging, distributing, and running applications in isolated containers.
- header recordA batch header record is an ACH record that marks the beginning of a batch and identifies information applicable to the batch's entries and addenda records.
- parsingParsing is the process of analyzing structured input and converting it into accessible data elements according to its format.
- TestcontainersTestcontainers is a library for creating and managing disposable containerized dependencies for automated tests.
- automated clearing houseThe Automated Clearing House (ACH) is a U.S. electronic payment network that processes batch credit and debit transfers between participating financial institutions.
- HTTP response codeAn HTTP status code is a numeric response indicator that communicates the outcome of an HTTP request.
- data integrityData integrity is the preservation of data's accuracy, consistency, completeness, and validity during storage and use.
- mockingMocking is a testing and development technique that replaces real data or dependencies with controlled predefined substitutes.
- type hintsA type hint is optional type information attached to program elements to document or support expected value types.
- inner joinAn inner join is a relational query operation that returns only rows having matching values in both joined relations.
- feature fileA feature file is a human-readable specification file that declares a behavior-driven development feature and its test scenarios.
- step definitionAn executable binding that maps a human-readable behavior-driven development step to test code.
- PythonPython is a general-purpose, dynamically typed programming language with a concise syntax and an extensive standard library.
- company limitA company limit is a configured threshold that restricts or governs a company's financial or operational activity.
- test-driven developmentTest-driven development is a software-development practice in which tests are written before or alongside implementation and guide short implementation cycles.
- Next.jsNext.js is a React-based web framework for building full-stack applications with features such as routing, rendering, and optimization.
- OpenAPI specificationAn OpenAPI definition is a machine-readable description of an HTTP API's available operations, inputs, outputs, and metadata.
- docker-compose.ymlA docker-compose.yml file is a YAML configuration file that defines services, networks, volumes, and related settings for Docker Compose applications.
- health checkA health check is an automated test or status evaluation that determines whether an application or runtime component is functioning acceptably.
- company informationCompany information is information describing a business entity, including identifying, operational, or account-related details.
- DockerfileA Dockerfile is a text configuration file containing instructions for building a container image.
- parameterized queryA parameterized query is a database query whose SQL structure is separated from values supplied as parameters.
- data gridMUI DataGrid is a Material UI component for displaying and interacting with tabular data in a user interface.
- number typeNUMERIC is a database data type for storing exact decimal numbers with specified precision and scale.
- ACH dashboardAn ACH dashboard is a software interface for viewing or managing information about Automated Clearing House transactions.
- D3.jsD3.js is a JavaScript library for binding data to documents and creating dynamic, interactive data visualizations.
- ACH entryAn entry detail record is an ACH record containing transaction-level information such as an account number and an amount to credit or debit.
- database connectionA database connection is a communication session through which an application accesses a database server.
- hardcodingA hardcoded value is a literal configuration or data value embedded directly in source code or another fixed artifact instead of being supplied dynamically.
- DecimalDecimal is Python's arbitrary-precision decimal arithmetic type for representing base-ten numbers without the usual binary floating-point approximation.
- object-relational mapperAn object-relational mapper is software that maps programming-language objects to relational database tables and operations.
- OFAC scanningOFAC scanning is the process of comparing customers or financial transactions against sanctions lists maintained or provided by the U.S. Office of Foreign Assets Control.
- test fixtureA pytest fixture is a pytest mechanism that provides setup, data, or reusable context to test functions.
- assertionAn assert statement checks that a condition is true during program execution and signals an assertion failure when it is false.
- fuzzy matchingA fuzzy matching algorithm compares strings approximately so that similar values can be matched despite minor differences.
- HTTP GETGET is an HTTP request method used to retrieve a representation of a resource.
- CORSCross-Origin Resource Sharing (CORS) is a browser security mechanism that controls whether a web page may request resources from a different origin.
- modernization initiativeThe process of updating an existing software product to improve its technology, maintainability, compatibility, or cost effectiveness.
- coalesce functionThe SQL COALESCE function returns the first non-null expression from a sequence of expressions.
- FastAPIFastAPI is a Python web framework for building application programming interfaces with automatic validation and documentation.
- web search apiA search API accepts search criteria and returns matching records.
- dashboardA dashboard is a user interface that presents information and supports interactions for monitoring or managing an application or process.
- PPDPPD (Prearranged Payment and Deposit) is an ACH standard entry class code for authorized recurring credit and debit entries, including direct deposits.
- WireMockWireMock is a tool for mocking HTTP-based services with programmable request matching and predefined responses.
- regular expressionA regular expression is a pattern notation for matching and manipulating text according to specified character and repetition rules.
- refactoringRefactoring is the restructuring of existing code to improve its organization or maintainability without changing its externally observable behavior.
- ACH recordAn ACH record is a fixed-format line in an ACH file representing a file, batch, entry, addenda, or trailer element.
- principle of least privilegeThe principle of least privilege is a security practice of granting only the permissions necessary to perform required work and removing elevated permissions when they are no longer needed.
- enumAn enum type is a database type whose permitted values are defined by a finite named set of labels.
- container imageA Docker image is a read-only package containing the filesystem, application code, and dependencies used to create containers.
- pytestpytest is a Python testing framework for writing and running automated tests.
- user storyA user story is a concise Agile requirement statement describing a capability from a user's perspective and its intended benefit.
- md5MD5 is a cryptographic hash algorithm that produces a 128-bit digest from input data.
- multipart/form-dataMultipart/form-data is a media encoding format that packages one or more form fields or files into separate parts of an HTTP request.
- python-multipartpython-multipart is a Python package for parsing multipart form-data request bodies.
- SQL injectionSQL injection is a vulnerability in which attacker-controlled input changes the intended structure or behavior of a database query.
- orphan recordAn orphan record is a database record whose required referenced parent or related record no longer exists.
- primary keyA primary key is a column or set of columns that uniquely identifies each row in a relational table.
- database designDatabase design is the process of structuring data, schemas, relationships, and access requirements for a database system.
- problem definitionProblem formulation is the practice of specifying a problem's context, objective, constraints, and observable failure precisely.
- prompt engineeringPrompt engineering is the practice of designing clear, specific inputs that guide a language model toward useful responses.
- minimal productA minimum viable product is an initial product version that delivers enough core functionality to release to customers and gather feedback.
- paginationPagination is the technique of dividing a large result set into smaller portions that can be requested and displayed separately.
- .env fileAn .env file is a conventionally named environment file containing application configuration values as environment-variable assignments.
- pytest-postgresqlpytest-postgresql is a package that manages PostgreSQL connections and test databases for pytest.
- addenda type codeAn addenda type code is a code that identifies the specific subtype and field layout of an ACH addenda record.
- acceptance criteriaConditions that define when a software feature or project outcome is considered complete and acceptable.
- SAFeThe SAFe Agile framework is a structured framework for scaling Agile software development across teams, programs, and portfolios.
- requirements.txtrequirements.txt is a conventional Python configuration file that declares installable package dependencies and, optionally, their versions.
- WSO2 API ManagerAn API manager is software that provides centralized capabilities for publishing, securing, governing, documenting, monitoring, and managing APIs.
- integration testIntegration testing evaluates whether multiple software components work together correctly across their dependencies.
- Gantt chartA Gantt chart is a project-planning visualization that represents tasks and their timing on a timeline.
- industry typeAn industry type is a database-defined type that restricts an industry value to an approved set of categories.
- on delete cascadeON DELETE CASCADE is a database referential action that automatically deletes dependent records when their referenced parent record is deleted.
- SQLAlchemySQLAlchemy is a Python library and ORM toolkit for working with relational databases through SQL expressions and mapped objects.
- environment variableAn environment variable is a named value supplied through a process environment to configure software without embedding the value in source code.
- not-null constraintA NOT NULL constraint requires a database column to contain a value rather than SQL NULL.
- HTMLHTML is the standard markup language for structuring web pages and their content.
- expected fileAn expected file is a scheduled or otherwise anticipated document that an organization must receive or process.
- scatter plotA scatterplot is a visualization that represents paired quantitative observations as points positioned on two axes.
- preflight requestA preflight request is a browser-generated cross-origin HTTP request that asks whether a subsequent request is permitted before sending it.
- trailer recordA file trailer record is the final ACH-file record that terminates the file and contains file-level control totals and validation information.
- bar chartA bar chart, or bar graph, represents categorical values with rectangular bars whose lengths or heights encode magnitude.
- file-system based routingFile-based routing is a routing technique in which filesystem paths and files determine application URL routes.
- TypeScriptTypeScript is a statically typed superset of JavaScript that compiles to JavaScript.
- asynchronous programmingAsynchronous processing is execution in which a request can proceed without waiting synchronously for the complete operation to finish.
- component testingComponent testing is testing that evaluates an isolated software component, such as an API, independently of other components.
- pytest-bddpytest-bdd is a Python plugin that integrates behavior-driven development scenarios with pytest tests.
- TestClientTestClient is a testing client interface that sends requests to an application and exposes the resulting responses for assertions.
- testing pyramidA testing pyramid is a model that organizes software tests by scope, with numerous fast isolated tests at the base and fewer slower broader tests toward the top.
- currency formattingCurrency formatting is the transformation of monetary values into display strings with appropriate currency symbols, decimal precision, digit grouping, and locale conventions.
- ACH fieldAn ACH field is a value-bearing data element within an ACH record that occupies a prescribed fixed position and length.
- agile software developmentAgile is an iterative software-development approach that emphasizes incremental delivery, collaboration, and adaptation to changing requirements.
- warning messageA warning is a business condition that requires notification but does not necessarily prevent ACH file processing.
- formatterA code formatter is a software tool that automatically applies a consistent prescribed layout and style to source code.
- lintingA linter is a static-analysis tool that detects style violations, common programming mistakes, and other suspicious patterns in source code.
- transaction codeA transaction code is a code that classifies the type or direction of a financial transaction, such as a debit or credit.
- row countA record count is the number of records represented in a file or batch control summary.
- npxnpx is a command-line package runner distributed with npm for executing packages without requiring a global installation.
- env_file propertyAn env_file directive is a Docker Compose configuration directive that loads environment variables from a specified file into a service.
- osThe Python os module provides interfaces to operating-system services, including access to process environment variables.
- os.getenvos.getenv is a Python standard-library function that retrieves a named environment variable and can return a fallback when it is absent.
- exception details modalAn exception details modal is a dialog interface that presents detailed information about a detected application or data exception.
- flat fileA flat file is a file that stores data without relational structure, typically as unstructured or minimally structured text.
- IPvAnyNetworkIPvAnyNetwork is a Pydantic type that validates IPv4 or IPv6 network values, including individual addresses and address ranges.
- PlaywrightPlaywright is a cross-browser automation and testing tool for web applications that supports multiple programming languages and operating systems.
- database containerA database container is a container running a database management system and its supporting initialization behavior.
- YAGNI principleYAGNI is the software-development principle of avoiding functionality and complexity until they are actually needed.
- load testingLoad testing is nonfunctional testing that evaluates an application's behavior and performance under simulated user or request loads.
- PostgreSQLPostgreSQL is an open-source object-relational database management system known for SQL support, extensibility, and transactional reliability.
- fullstackFull stack development is software development spanning the user-facing frontend, backend processing, and the components connecting them.
- field validatorA field validator is a Pydantic annotation or decorator that applies custom validation logic to a model field.
- arrange act assert patternA behavior-driven test structure that expresses preconditions, an action, and expected outcomes.
- immediate destinationAn immediate destination is the ACH file-header field identifying the receiving financial institution's routing number.
- Access-Control-Allow headersAccess-Control-Allow-Origin is an HTTP response header that specifies which origins may access a resource.
- middlewareMiddleware is software that intercepts and processes requests or responses between an application and its surrounding interfaces.
- financial technologyFinancial technology, or fintech, is the application of technology to deliver, support, or improve financial products and services.
- INET data typeThe PostgreSQL INET data type stores IPv4 or IPv6 host addresses and networks and supports network-aware operations.
- API managementAPI lifecycle management is the governance of an API through states such as creation, publication, and deprecation.
- Pylintpylint is a Python static-analysis tool that detects coding errors, style problems, and maintainability issues.
- Material UIMUI is a React component library implementing Material Design-based user-interface components and layout utilities.
- React hookA React hook is a function-based API for managing component state and lifecycle behavior.
- edit distanceLevenshtein distance is a string metric counting the minimum single-character insertions, deletions, and substitutions needed to transform one string into another.
- fuzzystrmatchfuzzystrmatch is a PostgreSQL extension that provides string-similarity and phonetic-matching functions.
- iat processingIAT processing is the operational handling of International ACH Transactions, including their records, fields, and addenda.
- byteaBYTEA is a PostgreSQL binary-string data type for storing variable-length binary data.
- SQL triggerA database trigger is database code that executes automatically in response to specified database events.
- tax identification numberA tax identification number is an identifier assigned to a company for tax and related administrative purposes.
- viewA database view is a virtual table defined by a stored query over one or more database tables.
- code duplicationCode duplication is the repetition of substantially similar implementation logic in multiple places within a software system.
- EXPLAINEXPLAIN ANALYZE is an SQL command that executes a query and reports its execution plan and runtime statistics.
- one-to-many relationshipA one-to-many relationship is a data relationship in which one record can be associated with multiple records of another type.
- image sizeImage size is the amount of storage space required by a container image.
- container securityContainer security is the practice of protecting container images, runtimes, configurations, and workloads from compromise and misuse.
- defense in depthDefense in depth is a security strategy that uses multiple independent layers of protection across physical, network, application, data, and access controls.
- monolithic architectureMonolithic architecture is an architectural style in which an application’s functionality is packaged and deployed as a single unit.
- epicAn epic is a large Agile work item representing a substantial project, initiative, or body of related work.
- PI planning sessionA PI planning session is a collaborative planning event in SAFe that aligns teams on objectives, work, dependencies, and risks for an upcoming program increment.
- program incrementA program increment is a fixed SAFe planning and delivery period typically lasting eight to twelve weeks.
- sprintA sprint is a short, fixed development iteration in which a team works on a selected set of software objectives.
- enabler storyAn enabler story is an Agile work item supporting exploration, architecture, infrastructure, compliance, or other activities needed to enable future functionality.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.
