Skip to content

ListFlow is a to-do web app that helps you stay organized, prioritize tasks, and achieve your goals.

License

Notifications You must be signed in to change notification settings

PranabKumarSahoo/listflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ListFlow

ListFlow is a simple web application for creating and managing to-do lists. It allows users to create tasks with titles and descriptions, update existing tasks, and delete tasks. ListFlow provides a user-friendly interface for organizing tasks and staying productive.

Features

  • Task Management: User can create, update, and delete their tasks & also can view their tasks in a user-friendly interface.
  • User Authentication: Users can sign up and log in to access their personalized to-do lists.
  • Responsive Design: Compatible with various screen sizes for a seamless user experience.
  • Intuitive Interface: User-friendly dark minimal interface for easy task management.

Screenshots

Home Page

Task List Page

Backend API Documentation

Sign-Up API

  • Endpoint: /api/v1/register
  • Method: POST
  • Description: Creates a new user account with the provided email, username, and password.
  • Parameters:
    • email (string): User's email address.
    • username (string): User's chosen username.
    • password (string): User's chosen password.
  • Response:
    • message (string): Success message or error message if user already exists.

Sign-In API

  • Endpoint: /api/v1/login
  • Method: POST
  • Description: Allows existing users to log in with their email and password.
  • Parameters:
    • email (string): User's email address.
    • password (string): User's password.
  • Response:
    • others (object): User details excluding the password.
    • message (string): Error message if login fails.

Create Task API

  • Endpoint: /api/v2/addTask
  • Method: POST
  • Description: Adds a new task to the user's to-do list.
  • Parameters:
    • title (string): Title of the task.
    • body (string): Description of the task.
    • email (string): User's email address.
  • Response:
    • list (object): Details of the added task.

Update Task API

  • Endpoint: /api/v2/updateTask/:id
  • Method: PUT
  • Description: Updates an existing task in the user's to-do list.
  • Parameters:
    • title (string): New title for the task.
    • body (string): New description for the task.
    • email (string): User's email address.
  • Response:
    • message (string): Success message indicating the task was updated.

Delete Task API

  • Endpoint: /api/v2/deleteTask/:id
  • Method: DELETE
  • Description: Deletes a task from the user's to-do list.
  • Parameters:
    • id (string): ID of the task to be deleted.
    • email (string): User's email address.
  • Response:
    • message (string): Success message indicating the task was deleted.

Get Tasks API

  • Endpoint: /api/v2/getTask/:id
  • Method: GET
  • Description: Retrieves all tasks belonging to a user.
  • Parameters:
    • id (string): ID of the user whose tasks are to be retrieved.
  • Response:
    • list (array): Array of task objects belonging to the user.

Technologies Used

  • Frontend:

    • React.js: For user interfaces.
    • React Router: For Routing in applications.
    • Bootstrap: For responsive design.
    • React Icons: Icon library.
    • Axios: For making requests to the backend.
  • Backend:

    • Node.js: For server-side logic.
    • Express.js: For building APIs and handling HTTP requests.
    • MongoDB: For storing user data and task information.
    • Mongoose: MongoDB object modeling for Node.js applications.
    • bcrypt.js: Library for hashing passwords securely.

Getting Started

To run ListFlow locally, follow these steps:

  1. Clone the repository:
    git clone https://github.com/PranabKumarSahoo/ListFlow.git
    
  2. Navigate to the project directory:
    cd ListFlow
    
  3. Install dependencies for the frontend and backend:
    cd client
    npm install
    
    cd server
    npm install
    
  4. Start the frontend server:
    npm start
    
  5. Start the backend server:
    npm run dev
    
  6. Open your browser and navigate to http://localhost:3000 to access ListFlow.

Contact

Feel free to reach out to [email protected] with any questions or feedback!!

License

This project is open-source and available under the MIT License. Feel free to contribute.

About

ListFlow is a to-do web app that helps you stay organized, prioritize tasks, and achieve your goals.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published