How To Create TODO Application Using LWC

Hey There!

Now we gonna build Todo Web App using Lightning web component. It’s just like a step by step tutorial, don’t forget to follow all the step then it will be easy for you.

STEP 1: Create your TODO App

Follow The CLI steps to setup your app.

Note : you must have Node.js installed, with at least npm 5.2+.

npx lwc-create-app you-app-name
cd your-app-name
npm run watch

Now you will have an app folder structure like this.


STEP 2: Work with your component files.

Now you just check the src folder, Modules and components will be there.

open your follwoing files and paste the code

  • App.html
  • App.js
  • App.css

Note : You can change Component files name  based on your project name

<!--  App.html  -->

    <div class="center">
        <img src="/resources/lwc.png" />

    <div class="toDo">
        <div class="header">
            <h2>My To Do List</h2>
                placeholder="Type Here..."
            <span  class="addBtn"  value={taskDetails} onclick={handleToDo}>Add</span>

            <template for:each={todos} for:item="todo">
                <li key={}>
// App.js 

import { LightningElement, track } from 'lwc';

export default class App extends LightningElement {

    TodoId = 2;
    @track todos = [
        { id: 1, taskDetails: 'Write Story' },
        { id: 2, taskDetails: 'Build Framework' }

    @track taskDetails;

        this.taskDetails =;
    	this.TodoId = this.TodoId + 1;
        this.todos = [
                id: this.TodoId,
                taskDetails: this.taskDetails,
// App.css
.center {
    text-align: center;
* {
    box-sizing: border-box;
  ul {
    margin: 0;
    padding: 0;
  ul li {
    cursor: pointer;
    position: relative;
    padding: 12px 8px 12px 40px;
    background: #eee;
    font-size: 18px;
    transition: 0.2s;
    list-style: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

  ul li:nth-child(odd) {
    background: #f9f9f9;

  ul li:hover {
    background: #ddd;

  .header {
    background-color: #00a0df;
    padding: 30px 40px;
    color: white;
    text-align: center;
    border-radius: 15px;
  .header:after {
    content: "";
    display: table;
    clear: both;
  input {
    margin: 0;
    border: none;
    border-radius: 0;
    width: 75%;
    padding: 10px;
    float: left;
    font-size: 16px;

  .addBtn {
    padding: 10px;
    width: 25%;
    background: #d9d9d9;
    color: #555;
    float: left;
    text-align: center;
    font-size: 16px;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 0;
  .addBtn:hover {
    background-color: #bbb;
  .center img{
    width: 100px;
    margin: 0 auto;

STEP 3: Run your app

Finally, run your app using CLI

npm run watch

Hope you got the TODO App, you can also download the source code from my GitHub page 🙂

Leave A Comment