EXPERIMENT-1
--------------------------------------------------------------------------------------------------------------
NAME: SUNNY KR. SHARMA UID: 23MCA20583
Branch: MCA Section/Group: 23MCA-8A
Semester: 3rd Subject Code: 23CAH-705
Subject Name: BACK END TECHNOLOGIES
Objective:
Create employee salary program using NodeJS
Procedure:
1. Setup Project and Install Dependencies
2. Create Server with Express
3. Define Routes for CRUD Operations
4. Persist Data in a JSON File
Input:
const express = require('express');
const bodyParser = require('body-parser');
const fs = require('fs');
const app = express();
const port = 3000;
app.use(bodyParser.json());
let employees = [];
// Load employees from file
const loadEmployees = () => {
try {
const data = fs.readFileSync('employees.json');
employees = JSON.parse(data);
} catch (error) {
employees = [];
}
};
// Save employees to file
const saveEmployees = () => {
fs.writeFileSync('employees.json', JSON.stringify(employees, null, 2));
};
loadEmployees();
// Get all employees
app.get('/employees', (req, res) => {
res.json(employees);
});
// Get an employee by ID
app.get('/employees/:id', (req, res) => {
const employee = employees.find(emp => emp.id === parseInt(req.params.id));
if (!employee) return res.status(404).send('Employee not found');
res.json(employee);
});
// Create a new employee
app.post('/employees', (req, res) => {
const newEmployee = {
id: employees.length ? employees[employees.length - 1].id + 1 : 1,
name: req.body.name,
salary: req.body.salary,
};
employees.push(newEmployee);
saveEmployees();
res.status(201).json(newEmployee);
});
// Update an employee's salary
app.put('/employees/:id', (req, res) => {
const employee = employees.find(emp => emp.id === parseInt(req.params.id));
if (!employee) return res.status(404).send('Employee not found');
employee.salary = req.body.salary;
saveEmployees();
res.json(employee);
});
// Delete an employee
app.delete('/employees/:id', (req, res) => {
employees = employees.filter(emp => emp.id !== parseInt(req.params.id));
saveEmployees();
res.status(204).json(employees);
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
Output:
Learning Outcomes:
1. Set up a basic Node.js project and install necessary dependencies.
2. Create a simple server using Express.
3. Implement CRUD operations to manage employee data.
4. Persist data using a JSON file.
5. Understand the structure and flow of a Node.js application with Express.
6. Apply middleware in Express to handle JSON data and other functionalities.
Signature………..