Posts

Express JS - Track Recently Visited Pages in Session

When a user visits any web page, save the page name and URL in the session as an array of objects. Each object should contain the page name and URL. Create a footer.ejs file to display the list of the 10 most recently visited pages in the footer of every EJS page. Each page should appear as a clickable hyperlink in a separate row. If the user clicks on a link, the corresponding page should open. At the end of the list, include a "Remove All" link to clear the list of recently visited pages in the session. Add an "X" next to each link to allow the user to remove that specific page from the session. After removing a page or clearing the list, redirect the user to the /home page. If a user visits a page that is already in the list, move it to the top and remove the previous occurrence to avoid duplicates.

Express JS - Cookies Handling

Task 1: Define and Handle /cookie1 Create a route /cookie1 that sets two cookies, token and last_visit_timestamp , in the user's browser. When the browser sends these cookies back to the server, display their values using the cookie1.ejs template. Additionally, calculate and display the time (in seconds) since the user's last visit by subtracting the last_visit_timestamp cookie value from the current time. Ensure that the last_visit_timestamp cookie is updated with the current timestamp on each request. Refresh the page at random intervals to test its functionality. Task 2: Add Cookie Form at /add-cookie Develop a route /add-cookie with a form containing two input fields: Cookie Name and Cookie Value . When the form is submitted, store the specified cookie in the user's browser and redirect them to /home . Include a link to the "Add Cookie" form on the homepage for easy navigation. Task 3: Remove Cookie Form at /remove-cookie Implement a route /remove-cooki...

AJAX and DOM Manipulation - Fetch, Display, Update and Remove Students Records

Make use of JQuery JavaScript library for AJAX functionality and DOM manipulaiton. Use Bootstrap for layout design. Responsive Design: Large screens (e.g., desktops): The webpage should display a single row with four cells. Medium screens (e.g., tablets): The last two cells should move to a new row. Small and extra-small screens (e.g., phones): All cells should stack vertically. Cell Details and Functionality: Fetch student data from  http://192.155.90.208/students.json   using AJAX and store in students array. Make use of this array for below given functionalities. You can treat, student name as primary key. Cell 1: Add a dropdown menu with a list of countries and a " Load Data " button. When the button is clicked, distinct countries from students array shall be loaded into option list. When a country is selected, display the filtered list of students from the selected country in Cell 2.  Cell 2: Show the student list in a table. The table should have the following colum...

AJAX and DOM Manipulation - Display Monthly Expenses

Layout - R ow 1 Create a Bootstrap row with 3 cells . On large screens, cells should be in a row; on smaller screens, stack them vertically. Cell 1: Fetch expense details using AJAX from  http://192.155.90.208/expenses.json Display months names in e.g. January , February , and March , each in a separate <div> element. Cell 2: When month in cell 1 is clicked, show a table with Sr. # , Expense Category , Total columns in cell 2. Add a Grand Total row at the bottom. Cell 3: Add a “Show Details” button below the table in Cell 2. On click, display a table with Sr. #, Description, Category, Amount columns and a final Total Amount row. Row 2 - Cell 1 Create a form with fields for Description , Category , Amount , and Month , along with an Add button to add a new expense. Choose appropriate input types as needed. When the button is clicked, Row 1 data and behavior shall include the new expense added.

Allama Iqbal Poetry that I Like

گزر جا عقل سے آگے کہ یہ نور  چراغ راہ ہے ۔ منزل نہیں ہے ----   دلِ بینا بھی کر خدا سےطلب آنکھ کا نور دل کا نور نہیں --- حلاج کی لیکن یہ روایت ہے کہ آخر  اک مرد قلندر نے کیا رازِ خودی فاش --- تو اے اسیرِ مکاں! لا مکاں سے دور نہیں وہ جلوہ گاہ ترے خاک داں سے دور نہیں --- خضر کیونکر بتائے، کیا بتائے اگر  ماہی  کہے  دریا  کہاں  ہے --- بالائے سر رہا تو ہے نام اس کا آسماں  زیر پر آ گیا تو یہی آسماں، زمیں !  ---- دل میں ہو سوزِ محبت کا وہ چھوٹا سا شرر نور سے جس کے ملے رازِ حقیقت کی خبر ---  جُراؑت ہے تو افکار کی دنیا سے گزر جا  ہیں بحر خودی میں ابھی پوشیدہ جزیرے کھلتے نہیں اس قُلزُم خاموش کے اٗسرار  جب تک تو اسے ضربِ کلیمی سے نہ چیرے  --- تری نگاہ میں ثابت نہیں خدا کا وجود  مِری نگاہ میں ثابت نہیں وجود ترا  وجود کیا ہے۔ فقط جوہرِ خودی کی نمود کر اپنی فکر کہ جوہر ہے بے نمود ترا  ---   ہر اک منتظر تیری یلغار کا  تری شوخی فکر و کردار کا  یہ ہے مقصد گردش روزگار  کہ تیری خودی تجھ پہ ہو ...

17 Key Insights from Muhammad Raza Saeed's Podcast: Leadership, Innovation, and Pakistan’s Growth

  Just watched a podcast of Muhammad Raza Saeed, CEO Confiz and PakWheels at Thought Behind Things . It was around 2 hours session, here are my 17 take-aways. 1. Everything must be done in a propey way. Processes, not individuals, should drive a company to ensure consistency and quality management. 2. Whatever you do, identify patterns in your service, its where you would find new ideas to work on, areas to innovate by creating products. 3. Software is means to an end, and that end is "the problem it solve". Focus on problems identification and then building solutions to fix them. Digitalization globally is only at 15-20%, offering abundant opportunities for software businesses. 4. Large software platforms are complex and every business is different in operations, even when they are doing same stuff. People are needed to customize platforms to meet specific requirements. Here is the opportunity you can tap. 5. Business opportunities lie not only in grand challenges but also i...

How to start freelancing in software development?

A student asked about how to start feelancing at reddit. Here are a couple of points I shared. I found it a bit cool, so I thought to share with broader audience: 1. Pick one skill and master it thoroughly by learning from 3-4 different sources (e.g., Coursera, Udemy, edX, YouTube, etc.). Complete 2-3 academic projects to apply what you've learned. Try to incorporate most of the features or tools often demanded in related projects within the chosen tech stack. Start by selecting a technology that has good demand nowadays and in which you already have some experience (this is recommended but not required). Choose something you enjoy working with. Once you've made your choice, stick with it for at least 3-4 years. This could be MERN, MEAN, React Native, Shopify, Odoo, Java/Spring, Flutter, .NET, Laravel, Salesforce, ERPs, Blockchain, Web3, integrations, ML/AI, automation, web scraping, data processing, crypto, or something else. The key is to pick one and stick to it unless you h...