FYP Guidance

Final Year Project (FYP) Guide for Students

Introduction The fact that you have decided to read this behemoth of an article deserves admiration and tells me that you're serious about your academics and career (or are procrastinating on something else). Give me the next 20 mins of your life and I'll make you into a much more informed individual. Your Final Year Project (FYP) is one of the most important academic tasks in your degree. It can shape your future career, boost your portfolio, and improve your problem-solving skills. This guide will help you choose the right topic, advisor, tech stack, and strategy to ensure your FYP stands out. This guide is mainly targets FASTians because of my experience, but the advice can be applied to any university. Also, I claim to be no expert in this field. I'm just a student who's been through the process and wants to help others navigate it. So take my very opinionated advice with a grain of salt. Research & Development vs. Development When planning your FYP, it’s essential to decide which type of project best aligns with your interests, skills, and career goals. Generally, there are two broad categories: ...

February 17, 2025 · 15 min · Muhammad Hassan Raza
Django ORM Optimization

Optimizing Django ORM Queries for Large Applications

Introduction As my POS system scaled, performance bottlenecks became increasingly apparent. Customers began complaining about slow bill generation times, which made checkout frustratingly sluggish. After profiling my Django APIs, I discovered that inefficient ORM queries were causing unnecessary database overhead, leading to significant slowdowns. This prompted a deep dive into ORM optimizations to reduce query execution time and improve the overall user experience. In this post, I’ll share how I optimized my Django ORM queries using select_related, prefetch_related, bulk operations, and query profiling tools to enhance the efficiency of my refund API and bill generation process. ...

February 17, 2025 · 3 min · Muhammad Hassan Raza

How I Built My Portfolio Website with Hugo, GitHub Pages, and Free Tools

Introduction As a developer, having a portfolio website is crucial for showcasing skills, projects, and expertise. I wanted a fast, minimal, and easily maintainable site, so I chose Hugo with the PaperMod theme. Best of all, I leveraged free tools for deployment, analytics, and discussions. Here’s how I built my portfolio website, hosted on GitHub Pages with a Porkbun domain. Hugo and PaperMod for a Minimalistic Look Hugo is a blazing-fast static site generator, perfect for a developer portfolio. I picked the PaperMod theme because of its: ...

February 15, 2025 · 3 min · Muhammad Hassan Raza
Ledger Optimization

Optimizing Django Signals for Efficient Ledger Recalculations

Introduction When dealing with financial transactions in Django applications, maintaining an accurate ledger is critical. However, inefficient signal handling can lead to performance bottlenecks. In this article, we’ll explore an optimized approach to recalculating ledger balances while ensuring minimal database impact. The Problem A typical ledger system requires recalculating balances when transactions are inserted, updated, or deleted. Using Django signals, many implementations trigger redundant recalculations, causing excessive database queries and slowing down the application. ...

February 15, 2025 · 2 min · Muhammad Hassan Raza

The Importance of Reusable Components for Critical Actions in VueJS

Introduction In modern web development, especially with frameworks like VueJS, building reusable components is a best practice that significantly improves both development efficiency and user experience. When dealing with critical actions—such as password changes, data deletions, or any irreversible actions—maintaining consistency is key. Reusable components, like confirmation modals or standardized buttons, ensure that users have a predictable and secure interaction every time. Benefits of Reusable Components Reusable components offer several significant advantages: ...

February 12, 2025 · 3 min · Muhammad Hassan Raza

Advantages of Preloading Data on Page Load

Introduction In modern web applications, speed and responsiveness are essential for a smooth user experience. One effective strategy to achieve this is preloading data when a page loads. For example, on a generate invoice page, preloading product data upon mounting ensures that users can search through products without any noticeable delay. This article explains the benefits of preloading data and includes a practical code example. Benefits of Preloading Data Preloading data on page load offers several key advantages: ...

February 11, 2025 · 3 min · Muhammad Hassan Raza
PostgreSQL Database

Optimizing Django Performance: Lessons from a POS System

Optimizing Django for a high-traffic POS system required bulk updates, caching, and efficient query strategies. This post documents the challenges and solutions.

February 11, 2025 · 2 min · Muhammad Hassan Raza