Skip to content

Realtime collaborative todo list using Websocket technology for multiple clients to collaborate (add, remove tasks) in realtime.

Notifications You must be signed in to change notification settings

CoffeeDev7/Realtime-Collaborative-To-doapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Realtime Collaborative To-Do List App

This is a simple collaborative to-do list application built using Node.js, Express, and Socket.IO. Multiple users can add and remove to-do items in real-time.

Screenshot 2024-06-22 201728

Sockets work in the following way , emitting events to the clients from the server

image

Features

  • Real-Time Updates: Changes made by one user (addition or deletion of a to-do item) are immediately reflected to all connected users.
  • Add and Remove To-Do Items: Users can add new to-do items and remove existing ones by clicking on the "Remove" button next to each item.
  • Responsive Design: The application is designed to work on different screen sizes, thanks to its responsive CSS.

Technologies Used

  • Node.js: A JavaScript runtime used to execute server-side code.
  • Express: A web framework for Node.js used to handle HTTP requests and serve static files.
  • Socket.IO: A library that enables real-time, bidirectional and event-based communication between web clients and servers.
  • HTML/CSS/JavaScript: Front-end technologies used to create the user interface and handle client-side interactions.

Setup Instructions

To run this application locally or deploy it to a server:

  1. Clone the Repository:

    git clone <repository_url>
    cd <repository_directory>
    
  2. Install Dependencies:

    npm install
    
  3. Start the Server:

    npm start
    
  4. Open in Browser: Visit http://localhost:3000 in your web browser to see the application in action.

File Structure

  • server.js: Contains the Node.js server code which initializes Express and Socket.IO, handles client connections, and manages the to-do list operations.
  • public/index.html: The HTML file that defines the structure of the web page, including the form to add new to-do items and the list to display existing ones.
  • public/style.css: CSS file defining the styles for the application, ensuring a clean and user-friendly interface.
  • public/script.js: JavaScript file handling client-side interactions, including listening for socket events and updating the DOM based on incoming data.

Additional Notes

  • Deployment: For deploying this application to a production environment, consider using a service like Heroku, AWS, or DigitalOcean.
  • Enhancements: This app can be extended with features like user authentication, persistence using databases, and more sophisticated UI/UX improvements.

Credits

This application template was created by integrating various tutorials and adapting the code to fit the specific requirements of a collaborative to-do list. Original credits to the developers and maintainers of Node.js, Express, Socket.IO, and related libraries used.

Feel free to explore and modify this application according to your needs and learning goals. Happy coding!

About

Realtime collaborative todo list using Websocket technology for multiple clients to collaborate (add, remove tasks) in realtime.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published