I recently completed a full-stack Expense Tracker project, and I wanted to share what I took away from building it end to end. 🔗 GitHub: https://lnkd.in/gWRktn-b The project is a Personal Finance Dashboard built with: 🐍 Python ⚡ FastAPI — REST API backend 🎨 Streamlit — Interactive frontend 🗄️ MySQL — Relational database 📬 Postman — API testing 🧪 Pytest — Unit testing Key things I learned through this project: → How to structure a full-stack Python application with a clear separation between frontend and backend → Designing and querying a relational database schema from scratch using MySQL → Building and documenting REST APIs with FastAPI and Swagger UI → Writing unit tests with Pytest and organizing test folders properly → Testing API endpoints effectively using Postman → How small decisions in project structure make a big difference in readability and maintainability This was a practice project, but it gave me a much clearer picture of how real-world applications are built and connected together. The full source code is available on GitHub — feedback and suggestions are always welcome. #Python #FastAPI #Streamlit #MySQL #Pytest #Postman #DataEngineering #Learning #DataScientist #Project
More Relevant Posts
-
🚨 I thought this was just grouping… but prefix sums changed everything. Day 32 of my Backend Developer Journey — and today was about 👉 turning brute force into math 🧠 LeetCode Breakthrough Solved today’s Daily Challenge using HashMap + Prefix Sum logic 💡 What clicked: → Group indices of same values → Use prefix sums to calculate distances efficiently → Avoid recalculating distances again and again ⚡ The real trick: 👉 Don’t compute distances individually 👉 Precompute and reuse calculations 🔍 Key Insight Instead of O(n²): 👉 Split into left + right contribution 👉 Use running sums ⚡ Optimized to O(n) 🔗 My Submission: https://lnkd.in/g9Dar9cq ☕ Spring Boot Learning 🔄 Cascading in JPA (Game Changer for Projects) Working on my Hospital Management System, I explored cascading 👇 👉 CascadeType.PERSIST 👉 CascadeType.MERGE 👉 CascadeType.REMOVE 👉 CascadeType.ALL ⚡ Why this matters 💡 Instead of manually saving related entities: 👉 Save parent → child automatically saved 👉 Delete parent → child automatically handled 🔥 Real Example 👉 Saving Patient → Insurance also gets saved 👉 Deleting Patient → related records handled automatically 🧠 The Shift 👉 Optimization = math + observation 👉 Backend = relationships + lifecycle management 👉 Projects teach more than theory ever will 📘 Spring Boot Notes: https://lnkd.in/gpWQvkyK 🔗 GitHub Repo https://lnkd.in/gWb8ZPdv 📈 Day 32 Progress: ✅ Learned prefix sum optimization ✅ Understood cascading deeply ✅ Improved real-world backend thinking 💬 Do you prefer solving problems using logic or math-based optimization? 👇 #100DaysOfCode #BackendDevelopment #SpringBoot #Java #LeetCode #CodingJourney #SystemDesign
To view or add a comment, sign in
-
-
We analyzed 790 CLAUDE.md files from GitHub. Not hand-picked examples. Real files from real repos — C++, Go, Python, TypeScript, Terraform, Rust, and 4 non-English languages. Here's what the data actually says: Structure convergence is real. → 65% of multi-section files start with Identity then Commands → 92% use code blocks (the single most consistent pattern across all domains) → The canonical structure: Identity → Commands → Architecture Brevity correlates with quality. → Median file: 4,536 characters (~100 lines) → Files under 5K chars pass quality assessment at 2x the rate of files over 8K → 86% stay under 300 lines → The 14% that exceed it are project diaries or status trackers, not config files What surprised us most: → MUST/NEVER emphasis markers are rare — under 10% of files use them (our smaller sample had overestimated this) → Non-English files (11% of corpus) follow identical structure patterns — the template is language-agnostic → The highest-scoring file is just 63 lines and 2,502 characters (a Go CLI tool) What developers actually put in CLAUDE.md: → 54% lead with project identity → 30% put commands second → 18% include naming/style conventions → 14% have formal constraint sections The takeaway that surprised me: The best CLAUDE.md files look nothing like comprehensive documentation. They look like a one-page cheat sheet a senior dev would hand a new team member on their first day. Short. Specific. Structured. The worst files read like READMEs, project diaries, or wish lists of how they want AI to behave. What does your CLAUDE.md look like — a cheat sheet or a diary? #AIEngineering #DataDriven #ClaudeCode #DeveloperExperience #CodingAssistants
To view or add a comment, sign in
-
-
Day 65 of #90DaysOfCode Today I built a Flask web application to collect and display cafe data including location, opening hours, coffee quality, wifi strength, and power availability. The application allows users to submit cafe details through a form, which is validated on the backend and stored in a CSV file. The stored data is then rendered dynamically on a separate page. Key features implemented • Form handling using Flask-WTF • Input validation using WTForms • Handling GET and POST requests in Flask • Data storage using CSV files • Dynamic rendering using Jinja templates • Redirect flow after form submission Key concepts learned • How form submission works in backend systems • Difference between GET and POST requests • Validating and processing user input • Structuring Flask applications properly This project gave me a clearer understanding of how backend systems handle user input and store structured data. GitHub Repository https://lnkd.in/gNvjnbZT #Python #Flask #BackendDevelopment #WebDevelopment #SoftwareEngineering #90DaysOfCode
To view or add a comment, sign in
-
Ever tried explaining a complex database schema to a teammate or client using just code? It can be a headache. I found a way to automate the entire process. Using Django Extensions, you can generate a full visual diagram of your project’s models directly from your terminal. Here’s how to do it in 3 easy steps: 1- Install the tools: pip install django-extensions pygraphviz (Note: You can also use pydotplus if you prefer!) 2-Add to your apps: Don't forget to add 'django_extensions' to your INSTALLED_APPS in settings.py. 3- Run the command : "python manage.py graph_models -a -o my_project_schema.png" Boom! You have a high-quality visual representation of your database architecture ready for documentation, presentations, or just to admire your hard work. It’s a lifesaver for onboarding new developers like me or debugging complex relationships. #Django #Python #WebDevelopment #Backend #CodingTips #SoftwareArchitecture #DatabaseDesign
To view or add a comment, sign in
-
-
Day 37/100: Mastering HTTP POST, PUT, and DELETE Requests! Today was a deep dive into the full lifecycle of data on the web. I moved beyond simple data fetching and explored how to create, update, and manage data on a server using the Pixela API. Key Technical Takeaways: HTTP POST Requests: Learning how to send data to a server to create new resources (like a user or a habit graph). Header Authentication: Implementing secure communication using API Headers instead of putting sensitive tokens in the URL. CRUD Operations: Mastering the concepts of Create, Read, Update, and Delete. Project: Automated Habit Tracker: Developed a script that tracks daily coding progress and visualizes it as a GitHub-style green-square heat map. Understanding these HTTP methods is the foundation of building any modern web application or backend system. My Python scripts are no longer just tools; they are now interacting with databases in a professional way! Check out my Habit Tracker logic here: https://lnkd.in/gj92uRi5 #Python #WebDevelopment #APIs #HabitTracker #100DaysOfCode #BackendDevelopment #VSCode #CodingJourney
To view or add a comment, sign in
-
Kai now has full Rust and Go support — and we found (and fixed) a push bug along the way. This week we added complete Rust language support to Kai's semantic engine. All 12 MCP tools now return useful results for Rust codebases: - Import resolution for crate::, super::, self::, mod declarations, and wildcards - Cross-file call graph tracking through exported symbols - Integration test detection (Rust's tests/ dir is a separate crate — filename pattern matching handles this) - Dependency and impact analysis across the full module tree We validated against two real-world Rust projects (casey/just and svenstaro/miniserve) with E2E tests, all passing. Three releases in one day: - v0.9.49: Rust language support - v0.9.50: Fix push for non-parseable file content - v0.9.51: Include content blob digests in push negotiate so normal push detects missing blobs We also shipped a dedicated E2E test harness (kai-e2e) that tests every MCP tool against several real open-source projects. 92 tests across Go, Rust, and push completeness — all green. The push completeness test specifically creates files of every tracked type and verifies content is available for push. Full retrospective: https://lnkd.in/dmV2PBSA
To view or add a comment, sign in
-
🚀 Built my first CLI-based Personal Finance Manager using Python & SQLite 💻💰 Today was one of those days where things finally clicked. I started with a simple idea: track income and expenses from the terminal. But along the way, I ended up learning some core backend concepts that every developer should understand. 🔧 Here’s what I worked on: • Designed a proper database schema (and fixed it multiple times 😅) • Learned why data modeling matters (type + amount > separate income/expense columns) • Implemented input validation to prevent crashes • Built a clean CLI menu with error handling • Used SQL aggregation (SUM) to calculate balance • Understood the difference between fetchall() and fetchone() • Handled edge cases like NULL values from SQL • Fixed logical bugs in control flow and menu mapping 💡 Biggest takeaway: Writing code is easy. Designing logic and handling edge cases is where real learning happens. There were moments where things didn’t work (wrong queries, wrong data types, tuple confusion 😵), but debugging those issues taught me more than just copying solutions ever could. 📈 Current features: ✔ Add transactions ✔ Calculate balance using SQL 🔄 Next: List transactions + improve UI This is part of my journey through Harvard’s CS50 Python course — and I’m starting to feel the shift from “just coding” to actually building software. #Python #CS50 #SQLite #Programming #LearningInPublic #100DaysOfCode #DeveloperJourney
To view or add a comment, sign in
-
If you're a Claude Code user, check out these terminal tools! Glad to see Starship and CShip getting the love they deserve!
AI Tech Lead | Senior Data Scientist | Writing a book on Post-training LLMs and Inference Optimization
Claude Code has pulled me back into the terminal full-time. These are the top tools for productivity boost in your terminal: 1. 𝐅𝐢𝐬𝐡 𝐬𝐡𝐞𝐥𝐥 → An alternative to zsh and bash with autocomplete for commands, options, flags, and git branches → Syntax highlighting: immediately shows you if a command is valid or not → Automatically activates Python virtual environments https://fishshell.com/ 2. 𝐒𝐭𝐚𝐫𝐬𝐡𝐢𝐩 → A fully customizable prompt → Shows your current folder, git branch, active Python/TS environment at a glance https://starship.rs/ 3. 𝐂𝐬𝐡𝐢𝐩 (𝐒𝐭𝐚𝐫𝐬𝐡𝐢𝐩 𝐟𝐨𝐫 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞) → Brings Starship-level customization to the Claude Code status line → By default the status line is very barebones → Cship adds information on token usage, when your window resets, all in a customizable way. https://cship.dev/ 4. 𝐘𝐚𝐳𝐢 → A graphical file manager that runs inside your terminal → Replaces the ls and cd loop with a fast, visual interface → Shows a preview of every file (code, images, even PDFs) https://lnkd.in/ePcegMWA 5. 𝐑𝐢𝐩𝐠𝐫𝐞𝐩 → Search your codebase for regex patterns faster than grep → Respects .gitignore, so no false positives in your .venv or node_modules folders 6. 𝐀𝐭𝐮𝐢𝐧 → Replaces Ctrl+R with a searchable, filterable history across sessions → Super useful when you need to find that command you ran two weeks ago → Allows syncing across machines. Searching for that command you run on your other computer? https://atuin.sh/ Are you using these? What else should I add to this list? I write about data & AI every week. Subscribe to my newsletter to get each one in your inbox 👉 https://lnkd.in/echQG4Zu
To view or add a comment, sign in
-
-
Spent the last few days building something I've been wanting to exist for a while. Code reviews are one of those things that everyone agrees matter but nobody has enough time to do properly. Security issues slip through, architectural problems get ignored, and by the time someone catches them it's already in production. So I built CodeSentinel — an AI-powered code review tool that analyzes your code or PR diff and gives you a full breakdown in under 10 seconds. Here's what it catches: → SQL injection and hardcoded secrets → Broken authentication and IDOR vulnerabilities → Missing error handling and DRY violations → Architectural patterns that won't scale You paste your code or PR diff, pick the language, and it scores your codebase across security, architecture, and code quality — each out of 100 — with the exact affected lines and concrete fixes. Works across JavaScript, TypeScript, Python, Go, Java, Rust, C++, PHP, Ruby, and SQL. I also built a GitHub Actions bot that triggers automatically on every pull request and posts the full AI review as a comment — so your team gets feedback without changing any workflow. Built with React, Vite, and the Anthropic Claude API. Full source code is on GitHub 👇 https://lnkd.in/erE9Tq4h Happy to answer any questions about how it works or what I learned building it. #productmanagement #buildinpublic #AI #cybersecurity #developertools #javascript #react #opensource
To view or add a comment, sign in
-
I've been spending time recently doing structured deep dives into topics I want to genuinely understand — and implement simple toy models around those topics. So, over the weekend I spent a lot of time exploring web-sockets with Claude Code. The approach I followed: 1. Theory first. Before writing a single line of code, I spent time building a mental model — basic preview of how web sockets work, why they are so expensive, how statefulness affects every layer of the infrastructure, when to use / not-use WebSockets. Some real-world examples of when they are used and when they are not. 2. Design before implementation. I defined the scope and agreed on a test list before touching code. Scope: A WebSocket client and server where: - The server echoes client messages - The server can also push messages independently - The client can close the connection cleanly Test list (same 9 tests implemented in all three languages): 1. Server starts and listens on a port 2. Client connects to the server 3. On connection, client receives a welcome message from the server 4. Client sends a message and receives the echo correctly 5. Server sends an independent message, client receives it correctly 6. Client closes the connection cleanly (close code 1000) 7. Server handles multiple sequential messages correctly 8. Client handles multiple sequential messages correctly 9. Server handles multiple clients independently 3. Strict TDD. Kent Beck style — write the test list first, then one test at a time: red → green → refactor. No additional code before a failing test. 4. Three languages. Python (`websockets` + `pytest-asyncio`), Go (`gorilla/websocket`), and C# (`System.Net.WebSockets` + `xUnit`). I consider myself pretty proficient with python and use C# at work, but have been wanting to get a better understanding of Go for some time. Tell me how are you using Claude and other llms to learn and do things better? P.S. - Repository link in comments, I typed in everything for the source code, and didn't use auto-edits at all. The article is generated by Claude, and edited by me. Any feedback is greatly appreciated!
To view or add a comment, sign in
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