Building a full-stack application has helped basic concepts like #Python objects and dictionaries sink in. When creating database models, serialization is important to be able to access the data in the routes as dictionaries. Of course, you do not serialize passwords in order to keep that data secure. Next week, I will bring in #ReactJS to make a more complete full-stack project (small snippet of the backend below). The way I explained this may be flawed, so feel free to let me know . #HammondSoftware #HoustonTech #BackEndDevelopment #FullStackDevelopment #PythonCoding
Building Full-Stack App with Python and React
More Relevant Posts
-
🏗️ Building the Backbone: From Python Classes to Persistent Data "The best way to learn is to build, break, and fix. 🛠️ Over the last few days, I’ve been architecting the backend for my FastAPI TodoApp. It’s been a journey of connecting the dots: Defining the Schema: Using SQLAlchemy to turn Python classes into database tables. Establishing the Link: Setting up the engine and SessionLocal to bridge the gap between my app and SQLite. Overcoming Hurdles: Navigating Windows environment variables and mastering the SQLite3 CLI to verify data integrity. The foundation is now officially set. By calling models.Base.metadata.create_all(engine), my app now automatically generates its own database environment on startup. Next stop: Developing the CRUD API endpoints to bring this data to life! 🚀" #Python #FastAPI #SQLAlchemy #BackendDevelopment #CleanCode #SoftwareEngineering
To view or add a comment, sign in
-
-
Your API isn’t slow. Your pagination is. 📉 It worked perfectly… until your data grew. Then every page got slower than the last. Nothing changed in your code. Only the dataset got bigger. The culprit? Offset pagination. The deeper the page, the more rows your database has to scan and skip. Page 1 → fast Page 1000 → painful Same query. Very different cost. The fix wasn’t caching. It was switching to cursor-based pagination. No skipping. Just jumping. In Django REST Framework, this was as simple as: Use 'CursorPagination' instead of 'PageNumberPagination'. Constant performance. Even at scale. Most performance issues aren’t complex. They’re patterns that don’t scale. Most developers don’t notice this until it’s too late. #BackendDevelopment #Django #Python #WebDevelopment #SoftwareEngineering #APIPerformance #DatabaseOptimization #SystemDesign #ScalableSystems #DjangoRESTFramework
To view or add a comment, sign in
-
-
🦀 We built a Rust crate. Meet #rsonschema ! hiop's JSON Schema validator for Rust, now open source - with Python bindings too. We needed solid JSON Schema validation for our data pipelines. We evaluated the existing options, but none matched our requirements for error clarity, API ergonomics, and long-term maintainability. So we built our own. #rsonschema is fast, gives you clear and actionable error messages, and has an API you can learn in minutes. You get a report. The report tells you what's wrong in a language you can actually understand. You fix it. Everyone goes home happy. 🎉 This is hiop's first open-source release. We've been running it in production and we're proud of where it's landed: good enough to share. Link in the first comment 👇 #Rust #OpenSource #JSONSchema #DataEngineering #Hiop
To view or add a comment, sign in
-
-
Data validation libraries were built to make computers happy... not the person debugging at 2am. So we made a different one, and it's now open source 🎉 Agentic apps, APIs and data pipeline break for the same reason: someone sends data in the wrong shape. A number arrives as a text. A required field is missing. The fix isn't more code, it's a contract: "here's what your data should look like, reject anything else before it causes damage downstream." A language-agnostic standard for the definition of these "contracts" exists and is called JSON Schema. Think of it as a bouncer for your API. However, existing tooling was not built for the AI era - where understandability, clarity and performance do all matter. At hiop we build systems that validate at scale, both server side in hiop cloud and client side in our MCP and dev toolchain. So we had to solve the trade-off in existing Rust libraries between good performance and cryptic error handling (try explaining "Schema Composition failure" at 2am). Alternatives were unmaintained or lacking validation APIs entirely. So we built rsonschema, and made it open source. For the non-Rust crowd: it works in Python too. pip install rsonschema and it's done. Happy coding! #opensource #rust #python #agents #ai #jsonschema
🦀 We built a Rust crate. Meet #rsonschema ! hiop's JSON Schema validator for Rust, now open source - with Python bindings too. We needed solid JSON Schema validation for our data pipelines. We evaluated the existing options, but none matched our requirements for error clarity, API ergonomics, and long-term maintainability. So we built our own. #rsonschema is fast, gives you clear and actionable error messages, and has an API you can learn in minutes. You get a report. The report tells you what's wrong in a language you can actually understand. You fix it. Everyone goes home happy. 🎉 This is hiop's first open-source release. We've been running it in production and we're proud of where it's landed: good enough to share. Link in the first comment 👇 #Rust #OpenSource #JSONSchema #DataEngineering #Hiop
To view or add a comment, sign in
-
-
I shipped PromptLedger v0.3.0 today. PromptLedger is my small local-first prompt version control project built around a simple idea: prompts should have proper history, diffs, labels, and review workflows just like code. In this release, I added: a new review workflow semantic summary diffs markdown export for reviews a better read-only comparison UI structured review support in the Python API I tried to keep the scope tight: no SaaS no telemetry no backend services SQLite stays the source of truth The goal was not to turn it into a huge framework, but to make prompt changes easier to inspect, review, and share. GitHub release: https://lnkd.in/e9nBkAiz PyPI: https://lnkd.in/ePTqsH6N Devto: https://lnkd.in/ebbFNq2H #OpenSource #Python #SQLite #DeveloperTools #BuildInPublic
To view or add a comment, sign in
-
-
🚀 Building Scalable APIs with FastAPI! ⚡ I’ve been exploring FastAPI, and I’m impressed by how fast and efficient it is for building high-performance Python APIs. Here’s a quick look at a simple yet powerful backend setup I built. This script demonstrates how to handle basic GET requests, dynamic path parameters, and simple arithmetic logic—all with automatic data validation! 🔍 What's happening in this code? • Root Endpoint: A simple health check to ensure the backend is running. • Personalized Greeting: Demonstrating how to capture string parameters from the URL. • Math Logic: A dynamic route that takes two integers, performs an addition, and returns the result as a JSON response. FastAPI is becoming my go-to for modern web development because of its speed, ease of use, and built-in support for asynchronous programming. 💻✨ 🌐 Check out my latest work: You can find more of my projects, experiments, and full-stack solutions on my portfolio: 🔗 https://lnkd.in/gWsGGTA2 #Python #FastAPI #BackendDevelopment #WebDevelopment #CodingLife #APIDevelopment #SoftwareEngineering #TechInnovation
To view or add a comment, sign in
-
-
Write code that doesn't break in production...! When building end-to-end pipelines, reading data from GitHub or external URLs is common. But relying on a "happy path" is a mistake. For robust development, always implement: Logging: To track the flow and capture specific error details. Exception Handling: To prevent the entire app from crashing and get clear "Unable to load" alerts. It’s a simple habit, but it’s what separates a beginner from a Pro Developer. #Python #MLOps #CleanCode #SoftwareEngineering #DataScience #CodingTips
To view or add a comment, sign in
-
-
DevLog Day 15. Started with Search in a 2D Matrix from NeetCode 150. The array is sorted both row wise and column wise and you need to find if a target element exists. My first instinct was to grab the first element of each row, run binary search on those to find the right row, then binary search within that row using columns. Turned out that was the right call and I solved it with O(log(m*n)) TC which is the expected solution. Good feeling when the first instinct is correct. Then I moved to Plus One on LeetCode. Easier problem but I overcomplicated my first approach. I converted the array to an integer using exponentials, added one, then converted it back. It worked and got accepted but was not efficient. The better approach is cleaner. Traverse the array in reverse and look for the first non 9 digit. If you find one just increment it and return. If the digit is 9 turn it to 0 and keep going. In the worst case where every digit is 9 like in 999 you just prepend a 1 and return 1000. Best case is O(1), worst case is O(n), single pass. Should have thought of this myself but at least I understand it now. After DSA I covered Caching in System Design. The core idea is to store frequently requested data closer to where it is needed so you avoid hitting the database every time. There are three layers, device level caching, server level caching and database level caching. In practice good systems use all three together and the performance difference is significant. And to round out the day I went through Python OOP concepts. Classes, objects, the fundamentals. Getting comfortable here before I start solving machine coding problems more seriously in Python. #DevLog #BuildInPublic #DSA #NeetCode #BinarySearch #SystemDesign #Python #LearningInPublic #IndieHacker #WebDevelopment
To view or add a comment, sign in
-
Been spending my weekends on a Python side project and finally have something worth sharing. Built CareTrack API from scratch, a REST API for managing patient and provider records. It uses FastAPI, PostgreSQL, and JWT authentication, with a full CI/CD pipeline on GitHub Actions and a live deployment on Render. Tech stack: Python · FastAPI · PostgreSQL · SQLAlchemy · Alembic · JWT · GitHub Actions Live API docs: https://lnkd.in/e9beFYgM GitHub: https://lnkd.in/e53nQi9S Feedback always welcome. #Python #SideProject #BackendDevelopment #API
To view or add a comment, sign in
-
-
Today seems like a good day to mention we’ve built our own litellm-esque model library, and that its completely open source. It provides one Python SDK to access any provider. It's simple, fully typed, and modular by design. At a glance: - Simple, modular design (easy to read + contribute to) - Fully typed, LLM-agnostic Pydantic I/O - Built-in model metadata + granular cost tracking (cache read/write, reasoning tokens, per-turn totals) - Agent loop with tool execution + hooks - Image + file support across providers - Retry strategies, including token-aware retries It’s built for simplicity and transparency — with a built-in agent loop + tool hooks, image/file support, and granular cost tracking. It is intentionally small and modular - we wanted it to be easy to understand, verify, and extend. 🔗 Link in the comments!
To view or add a comment, sign in
-
More from this author
Explore related topics
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
In C, all objects are just pointers to structs so you already have access to the object as if it is a dictionary. Just saying.