PROGRAM 1
- FILE NAME : Style.css
- FOLDER NAME : Public
body {
font-family: Arial, sans-serif;
margin: 20px;
}
h1 {
text-align: center;
color:rgb(9, 100, 210);
}
form {
display: flex;
margin-bottom: 20px;
}
input[type="text"] {
flex: 1;
padding: 10px;
font-size: 16px;
}
button {
padding: 10px 20px;
font-size: 16px;
align-items: end;
background-color: rgb(9, 100, 210);
}
ul {
list-style-type: none;
padding: 0;
align-items: center;
}
li {
display: flex;
align-items: center;
margin-bottom: 10px;
justify-content: space-between;
width:100%;
}
li .tick {
margin-right: 10px;
width:150xp;
height: 40px;
background-color: rgb(22, 216, 22);
}
li .delete {
display: none;
width:120xp;
height: 40px;
margin-right: 10px;
background-color: rgb(246, 55, 55);
}
li.completed .tick {
display: none;
}
li.completed .delete {
display: inline;
}PROGRAM 2
- FILE NAME : Index.ejs
- FOLDER NAME : Views
<!DOCTYPE html> <html> <head> <title>To-Do</title> <link rel="stylesheet" type="text/css" href="/style.css"> </head> <body> <h1>To-Do</h1> <form action="/todos" method="POST"> <input type="text" name="todo" placeholder="Enter a task" required> <button type="submit">Add To-Do</button> </form> <ul> <% todos.forEach((todo, index) => { %> <li class="<%= todo.completed ? 'completed' : '' %>"> <%= index+1 +" . " + todo.task %> <button class="tick" onclick="completeTask(<%= index %>)">✓complete</button> <button class="delete" onclick="deleteTask(<%= index %>)">✖Delete..</button> </li> <% }) %> </ul> <script> function completeTask(index) { fetch(`/todos/${index}/complete`, { method: 'POST' }) .then(() => { location.reload(); }) .catch((error) => { console.error('Error:', error); }); } function deleteTask(index) { fetch(`/todos/${index}/delete`, { method: 'POST' }) .then(() => { location.reload(); }) .catch((error) => { console.error('Error:', error); }); } </script> </body> </html>PROGRAM 3
- FILE NAME : Index.js
- FOLDER NAME : Open folder (don't put any folder)
const express = require('express');
const app = express();
const port = 3000;
app.use(express.urlencoded({ extended: true }));
app.use(express.static('public'));
let todos = [];
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index', { todos });
});
app.post('/todos', (req, res) => {
const todo = req.body.todo;
todos.push({ task: todo, completed: false });
res.redirect('/');
});
app.post('/todos/:id/complete', (req, res) => {
const id = req.params.id;
todos[id].completed = true;
res.redirect('/');
});
app.post('/todos/:id/delete', (req, res) => {
const id = req.params.id;
todos.splice(id, 1);
res.redirect('/');
});
app.listen(port, () => {
console.log(`App listening at http://localhost:${port}`);
});2 TO DO LISTTO DO LIST
THROUGH NODE JS
Node package manager (NPM)
Initiate node package
“-Y” installation
Result : Package.json (File created at source folder)
Express Package
Client to server connectivity
Request – Response
Http link – produced
Result : “node_modules” folder Created and “Package-lock.json” file created
Embedded Java Script
Script + html
STEP 1
CMD: npm init –y
Node package manager (NPM)
Initiate node package
“-Y” installation
Result : Package.json (File created at source folder)
STEP 2
CMD: npm install express
Express Package
Client to server connectivity
Request – Response
Http link – produced
Result : “node_modules” folder Created and “Package-lock.json” file created
STEP 3
CMD: node index.js
Embedded Java Script
Script + html
Out put
No comments:
Post a Comment