<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SQLAlchemy on AI VOID</title><link>https://ai-blog.noorshomelab.dev/tags/sqlalchemy/</link><description>Recent content in SQLAlchemy on AI VOID</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 20 Aug 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-blog.noorshomelab.dev/tags/sqlalchemy/index.xml" rel="self" type="application/rss+xml"/><item><title>Chapter 6: Storing Messages with SQLite</title><link>https://ai-blog.noorshomelab.dev/chat-guide/chapter-6-sqlite-messages/</link><pubDate>Wed, 20 Aug 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/chat-guide/chapter-6-sqlite-messages/</guid><description>&lt;p&gt;A real chat application needs to store messages to provide chat history. This chapter will guide you through setting up a SQLite database and integrating it into our FastAPI application using SQLAlchemy, a powerful SQL toolkit and Object-Relational Mapper (ORM).&lt;/p&gt;
&lt;h3 id="purpose-of-this-chapter"&gt;Purpose of this Chapter&lt;/h3&gt;
&lt;p&gt;By the end of this chapter, you will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understand the basics of ORM and why we use SQLAlchemy.&lt;/li&gt;
&lt;li&gt;Set up a SQLite database connection.&lt;/li&gt;
&lt;li&gt;Define database models for users and chat messages.&lt;/li&gt;
&lt;li&gt;Implement methods to store new messages and retrieve chat history.&lt;/li&gt;
&lt;li&gt;Update the WebSocket endpoint to save messages.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="concepts-explained-sqlalchemy-and-orm"&gt;Concepts Explained: SQLAlchemy and ORM&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Object-Relational Mapping (ORM)&lt;/strong&gt; is a technique that lets you query and manipulate data from a database using an object-oriented paradigm. Instead of writing raw SQL, you interact with database tables as Python classes and objects.&lt;/p&gt;</description></item><item><title>Chapter 8: User Registration and Login Flow</title><link>https://ai-blog.noorshomelab.dev/chat-guide/chapter-8-user-auth-flow/</link><pubDate>Wed, 20 Aug 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/chat-guide/chapter-8-user-auth-flow/</guid><description>&lt;p&gt;While we introduced basic user registration and login in Chapter 4, this chapter focuses on refining these critical endpoints. We&amp;rsquo;ll ensure robust data validation, provide clear error messages, and integrate the user management more tightly with our database. This is about building a solid, production-ready authentication foundation.&lt;/p&gt;
&lt;h3 id="purpose-of-this-chapter"&gt;Purpose of this Chapter&lt;/h3&gt;
&lt;p&gt;By the end of this chapter, you will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Have dedicated endpoints for user registration and login.&lt;/li&gt;
&lt;li&gt;Understand data validation for incoming user data.&lt;/li&gt;
&lt;li&gt;Implement proper password hashing and verification.&lt;/li&gt;
&lt;li&gt;Ensure that authenticated users are correctly identified and used throughout the application.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="concepts-explained-data-validation--error-handling"&gt;Concepts Explained: Data Validation &amp;amp; Error Handling&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Data Validation:&lt;/strong&gt; Ensuring that incoming data (like username and password during registration) meets expected criteria. FastAPI leverages Pydantic for this, which allows you to define strict schemas for your request bodies.&lt;/p&gt;</description></item></channel></rss>