<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Marien</title>
    <description>The latest articles on Forem by Marien (@mariensophie9).</description>
    <link>https://forem.com/mariensophie9</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3470921%2F8abb7bb5-478c-4ee9-a886-b01b28ac5fb7.png</url>
      <title>Forem: Marien</title>
      <link>https://forem.com/mariensophie9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mariensophie9"/>
    <language>en</language>
    <item>
      <title>Understanding Taxes in Italy: A Developer’s Guide to Creating Salary Calculation Tools</title>
      <dc:creator>Marien</dc:creator>
      <pubDate>Sun, 31 Aug 2025 23:37:20 +0000</pubDate>
      <link>https://forem.com/mariensophie9/understanding-taxes-in-italy-a-developers-guide-to-creating-salary-calculation-tools-4gci</link>
      <guid>https://forem.com/mariensophie9/understanding-taxes-in-italy-a-developers-guide-to-creating-salary-calculation-tools-4gci</guid>
      <description>&lt;p&gt;When working in Italy, one of the most common challenges for employees is understanding how much of their gross salary translates into their stipendio netto (net salary). The process of going da lordo a netto (from gross to net) involves calculating taxes, social security contributions, and other deductions. For developers, this creates an interesting opportunity: building a tool to &lt;a href="https://calcolo-stipendionetto.it/" rel="noopener noreferrer"&gt;calcolo stipendio netto&lt;/a&gt; automatically. Such a solution not only helps employees but also provides HR teams and freelancers with instant clarity about their finances.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Is Salary Calculation Important in Italy?
&lt;/h2&gt;

&lt;p&gt;In Italy, the difference between RAL (Reddito Annuo Lordo) and the final stipendio netto can be significant. Taxes such as IRPEF, regional surcharges, and INPS contributions all impact the final figure.&lt;/p&gt;

&lt;p&gt;This is why creating a calcolo stipendio netto tool can be valuable. By offering users a way to calculate their real monthly income, you can solve a very real problem faced by thousands of professionals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Terms to Understand
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Stipendio netto → The take-home salary after taxes.&lt;/li&gt;
&lt;li&gt;RAL (calcolo RAL) → The gross annual salary (before taxes).&lt;/li&gt;
&lt;li&gt;Da lordo a netto → The process of moving from gross to net income.&lt;/li&gt;
&lt;li&gt;Calcolo stipendio netto → The tool or formula used to compute net salary.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example: Building a Salary Calculator with Node.js and Express&lt;/p&gt;

&lt;p&gt;Here’s a simple demonstration of how developers can build a calcola stipendio netto API.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// salaryCalculator.js
const express = require("express");
const app = express();
app.use(express.json());

// Example tax &amp;amp; contribution rates (simplified)
const IRPEF_RATE = 0.23; // 23% base
const INPS_RATE = 0.09;  // 9% contribution

// Function to calculate net salary
function calcolaStipendioNetto(grossSalary) {
    const inps = grossSalary * INPS_RATE;
    const taxable = grossSalary - inps;
    const irpef = taxable * IRPEF_RATE;
    const net = grossSalary - inps - irpef;
    return {
        lordo: grossSalary,
        inps: inps.toFixed(2),
        irpef: irpef.toFixed(2),
        netto: net.toFixed(2)
    };
}

// API endpoint
app.post("/calcolo-stipendio-netto", (req, res) =&amp;gt; {
    const { ral } = req.body; // RAL = Gross salary
    if (!ral) {
        return res.status(400).json({ error: "Please provide a RAL value" });
    }
    const result = calcolaStipendioNetto(ral);
    res.json(result);
});

// Start server
app.listen(3000, () =&amp;gt; {
    console.log("Server running on http://localhost:3000");
});

Example Request
curl -X POST http://localhost:3000/calcolo-stipendio-netto \
-H "Content-Type: application/json" \
-d '{"ral": 30000}'

Example Response
{
  "lordo": 30000,
  "inps": "2700.00",
  "irpef": "6279.00",
  "netto": "21021.00"
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This simple API shows how developers can transform a calcolo RAL into a precise stipendio netto. In the same way &lt;a href="https://kalkulatorobligacjiskarbowych.pl" rel="noopener noreferrer"&gt;kalkulator obligacji skarbowych&lt;/a&gt; helps investors understand the real value of their prize bonds after deductions, the calcolo stipendio netto shows workers their true income after taxes and contributions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Whether you’re an employee trying to understand your paycheck or a developer interested in finance projects, the process of da lordo a netto is crucial in Italy. Creating a calcolo stipendio netto tool can make this complex calculation simple, transparent, and accessible for everyone.&lt;/p&gt;

&lt;p&gt;By blending financial rules with coding, developers can deliver practical solutions that directly help people manage their money better.&lt;/p&gt;

</description>
      <category>salary</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>A Beginner’s Guide to Building a REST API with Node.js and Express</title>
      <dc:creator>Marien</dc:creator>
      <pubDate>Sun, 31 Aug 2025 11:15:41 +0000</pubDate>
      <link>https://forem.com/mariensophie9/a-beginners-guide-to-building-a-rest-api-with-nodejs-and-express-51gm</link>
      <guid>https://forem.com/mariensophie9/a-beginners-guide-to-building-a-rest-api-with-nodejs-and-express-51gm</guid>
      <description>&lt;p&gt;APIs power most of the apps we use every day — from social media to weather apps. A REST API (Representational State Transfer) is one of the most common ways to let applications communicate with each other. In this guide, we’ll walk step-by-step through building a simple REST API using Node.js and Express.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What You’ll Learn&lt;/li&gt;
&lt;li&gt;What a REST API is&lt;/li&gt;
&lt;li&gt;How to set up Node.js and Express&lt;/li&gt;
&lt;li&gt;How to create routes for CRUD operations (Create, Read, Update, Delete)&lt;/li&gt;
&lt;li&gt;How to test your API&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1: Initialize Your Project
&lt;/h2&gt;

&lt;p&gt;First, create a new project folder and initialize npm.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir rest-api-demo
cd rest-api-demo
npm init -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then install Express:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install express
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 2: Create the Server
&lt;/h2&gt;

&lt;p&gt;Create a file called server.js and set up a basic Express server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const express = require('express');
const app = express();
const PORT = 3000;

app.use(express.json()); // Middleware to parse JSON

app.listen(PORT, () =&amp;gt; {
  console.log(`Server running on http://localhost:${PORT}`);
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run your server:&lt;/p&gt;

&lt;p&gt;node server.js&lt;/p&gt;

&lt;p&gt;You should see:&lt;br&gt;
*&lt;em&gt;Server running on &lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt;&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 3: Create Routes
&lt;/h2&gt;

&lt;p&gt;For this example, let’s build a simple API for managing a list of books.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let books = [
  { id: 1, title: "Atomic Habits", author: "James Clear" },
  { id: 2, title: "The Pragmatic Programmer", author: "Andrew Hunt" }
];

// GET all books
app.get('/books', (req, res) =&amp;gt; {
  res.json(books);
});

// GET a book by ID
app.get('/books/:id', (req, res) =&amp;gt; {
  const book = books.find(b =&amp;gt; b.id === parseInt(req.params.id));
  book ? res.json(book) : res.status(404).json({ message: "Book not found" });
});

// POST (Add a new book)
app.post('/books', (req, res) =&amp;gt; {
  const newBook = {
    id: books.length + 1,
    title: req.body.title,
    author: req.body.author
  };
  books.push(newBook);
  res.status(201).json(newBook);
});

// PUT (Update a book)
app.put('/books/:id', (req, res) =&amp;gt; {
  const book = books.find(b =&amp;gt; b.id === parseInt(req.params.id));
  if (!book) return res.status(404).json({ message: "Book not found" });

  book.title = req.body.title;
  book.author = req.body.author;
  res.json(book);
});

// DELETE a book
app.delete('/books/:id', (req, res) =&amp;gt; {
  books = books.filter(b =&amp;gt; b.id !== parseInt(req.params.id));
  res.json({ message: "Book deleted" });
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4: Test the API
&lt;/h2&gt;

&lt;p&gt;You can use tools like Postman or cURL to test your endpoints:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET /books → Get all books

GET /books/1 → Get book with ID 1

POST /books with JSON body → Add a new book

PUT /books/1 with JSON body → Update book with ID 1

DELETE /books/1 → Delete book with ID 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 5: Wrap Up
&lt;/h2&gt;

&lt;p&gt;You’ve just built your first REST API with Node.js and Express. From here, you can expand it by connecting to a database (like MongoDB or PostgreSQL), adding authentication, or deploying it online.&lt;/p&gt;

</description>
      <category>node</category>
      <category>api</category>
      <category>express</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Building a Simple Scientific Calculator with JavaScript</title>
      <dc:creator>Marien</dc:creator>
      <pubDate>Sun, 31 Aug 2025 11:06:26 +0000</pubDate>
      <link>https://forem.com/mariensophie9/building-a-simple-scientific-calculator-with-javascript-345</link>
      <guid>https://forem.com/mariensophie9/building-a-simple-scientific-calculator-with-javascript-345</guid>
      <description>&lt;p&gt;Creating your own scientific calculator can be a fun way to sharpen your JavaScript skills. Instead of just handling addition or subtraction, we’ll expand it to include advanced operations like trigonometry, exponentiation, and logarithms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Build a Calculator?
&lt;/h2&gt;

&lt;p&gt;Calculators are one of the most common projects for learning programming. They combine basic concepts like:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Event handling&lt;/li&gt;
&lt;li&gt;Mathematical functions&lt;/li&gt;
&lt;li&gt;User input/output &lt;/li&gt;
&lt;li&gt;UI design&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By turning it into a scientific calculator, you also get exposure to Math methods in JavaScript that many developers overlook.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting up the HTML
&lt;/h2&gt;

&lt;p&gt;Here’s a very simple structure:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;div class="calculator"&amp;gt;&lt;br&gt;
  &amp;lt;input type="text" id="display" readonly /&amp;gt;&lt;br&gt;
  &amp;lt;div class="buttons"&amp;gt;&lt;br&gt;
    &amp;lt;button onclick="clearDisplay()"&amp;gt;C&amp;lt;/button&amp;gt;&lt;br&gt;
    &amp;lt;button onclick="appendValue('sin(')"&amp;gt;sin&amp;lt;/button&amp;gt;&lt;br&gt;
    &amp;lt;button onclick="appendValue('cos(')"&amp;gt;cos&amp;lt;/button&amp;gt;&lt;br&gt;
    &amp;lt;button onclick="appendValue('tan(')"&amp;gt;tan&amp;lt;/button&amp;gt;&lt;br&gt;
    &amp;lt;button onclick="appendValue('Math.log(')"&amp;gt;log&amp;lt;/button&amp;gt;&lt;br&gt;
    &amp;lt;button onclick="appendValue('Math.pow(')"&amp;gt;xʸ&amp;lt;/button&amp;gt;&lt;br&gt;
    &amp;lt;button onclick="appendValue('Math.sqrt(')"&amp;gt;√&amp;lt;/button&amp;gt;&lt;br&gt;
    &amp;lt;button onclick="appendValue('Math.PI')"&amp;gt;π&amp;lt;/button&amp;gt;&lt;br&gt;
    &amp;lt;button onclick="appendValue('Math.E')"&amp;gt;e&amp;lt;/button&amp;gt;&lt;br&gt;
    &amp;lt;button onclick="calculate()"&amp;gt;=&amp;lt;/button&amp;gt;&lt;br&gt;
  &amp;lt;/div&amp;gt;&lt;br&gt;
&amp;lt;/div&amp;gt;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  JavaScript Logic
&lt;/h2&gt;

&lt;p&gt;`const display = document.getElementById('display');&lt;/p&gt;

&lt;p&gt;function appendValue(val) {&lt;br&gt;
  display.value += val;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function clearDisplay() {&lt;br&gt;
  display.value = '';&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function calculate() {&lt;br&gt;
  try {&lt;br&gt;
    display.value = eval(display.value);&lt;br&gt;
  } catch {&lt;br&gt;
    display.value = 'Error';&lt;br&gt;
  }&lt;br&gt;
}`&lt;/p&gt;

&lt;h2&gt;
  
  
  Styling with CSS (Optional)
&lt;/h2&gt;

&lt;p&gt;`.calculator {&lt;br&gt;
  width: 250px;&lt;br&gt;
  margin: 20px auto;&lt;br&gt;
  padding: 15px;&lt;br&gt;
  background: #1e1e2f;&lt;br&gt;
  border-radius: 10px;&lt;br&gt;
  color: #fff;&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  display {
&lt;/h1&gt;

&lt;p&gt;width: 100%;&lt;br&gt;
  height: 40px;&lt;br&gt;
  font-size: 18px;&lt;br&gt;
  margin-bottom: 10px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;button {&lt;br&gt;
  margin: 5px;&lt;br&gt;
  padding: 10px;&lt;br&gt;
  font-size: 16px;&lt;br&gt;
  border-radius: 5px;&lt;br&gt;
  border: none;&lt;br&gt;
  cursor: pointer;&lt;br&gt;
}`&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>calculator</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
