Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dulanjalisenarathna/reactjs-todo-app

React js todo application
https://github.com/dulanjalisenarathna/reactjs-todo-app

formik-yup framer-motion material-ui react-context-api react-hot-toast react-todo-app reactjs todoapp todolist

Last synced: about 1 month ago
JSON representation

React js todo application

Awesome Lists containing this project

README

        

# React Js To Do Web Application

This is a React-based Todo application that includes user authentication functionality using the React Context API and localStorage. The app allows users to register, log in, and manage todo items effectively.

**live demo: (https://reactjs-todo-app-two.vercel.app)**

## Features

- **User Authentication**:
- **Register**: Create a new user account with name, email, and password.
- **Login**: Access your account using email and password.
- **Include basic validation**
- **Provide feedback to users on successful login or registration**

- **Todo List Management**:
- **Add Todo**: Create new todo items with a title and description.
- **Edit Todo**: Modify existing todo items.
- **Delete Todo**: Remove todo items from the list.
- **Toggle Completion**: Mark todos as completed or incomplete.
- **Display Date and Time**: See when each todo was added.
- **Display toast messages for adding and deleting todo item**

- **Responsive Design**: Optimized for both desktop and mobile views.
- **Added smooth animations**

## Technologies Used

- **React.js**: Front-end library for building user interfaces.
- **React Router**: For client-side routing.
- **React Context API**: For managing authentication state.
- **localStorage**: For storing user credentials and todo items.
- **CSS**: For styling (SCSS compiled to CSS).
- **react-hot-toast**: For display toast messages
- **React icons**: Library for icons
- **Formik-Yup**: Form validation

## Getting Started

### Prerequisites

- Node.js (v14 or later)
- npm or yarn

### Installation

1. **Clone the Repository**:

```bash
git clone https://github.com/DulanjaliSenarathna/reactjs-todo-app.git
cd todo-app
```

2. **Install Dependencies**:

```bash
npm install
```

or

```bash
yarn install
```

3. **Start the Development Server**:

```bash
npm start
```

or

```bash
yarn start
```

This will start the app on `http://localhost:3000`.

## Usage

1. **Register a New User**:
- Go to the registration page.
- Fill in your name, email, and password.
- Submit the form to create a new account.

2. **Log In**:
- Go to the login page.
- Enter your email and password.
- Submit the form to log in.

3. **Manage Todos**:
- After logging in, you will be redirected to the todo list page.
- Use the form to add new todos.
- Click on the edit icon to update a todo item.
- Click on the delete icon to remove a todo item.
- Toggle the checkbox to mark todos as completed or incomplete.

4. **Log Out**:
- Click on the logout button to end your session and return to the login page.

# Screenshots
![t1](https://github.com/user-attachments/assets/654a0640-0247-4665-b600-b75abefd632a)
![t2](https://github.com/user-attachments/assets/8b5cd527-d740-4b50-adbd-bcaa5a762c66)
![t3](https://github.com/user-attachments/assets/93e43662-a90a-4e86-9326-742f6bc60ef6)
![t4](https://github.com/user-attachments/assets/d8b1d218-6229-4305-b6eb-873ecc5afd4d)
![t5](https://github.com/user-attachments/assets/260a83f1-16ab-4c65-9595-3d50aa7db118)
![t6](https://github.com/user-attachments/assets/bb1d56ed-d827-4ca0-8647-65ff3b0df687)
![t7](https://github.com/user-attachments/assets/a42123cf-6d6a-4320-b6dc-33193fdb9809)