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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
-
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.
To run ListFlow locally, follow these steps:
- Clone the repository:
git clone https://github.com/PranabKumarSahoo/ListFlow.git
- Navigate to the project directory:
cd ListFlow
- Install dependencies for the frontend and backend:
cd client npm install cd server npm install
- Start the frontend server:
npm start
- Start the backend server:
npm run dev
- Open your browser and navigate to
http://localhost:3000
to access ListFlow.
Feel free to reach out to [email protected] with any questions or feedback!!
This project is open-source and available under the MIT License. Feel free to contribute.