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

https://github.com/ali-sanad/todo-list

Todo List with React and Typescript
https://github.com/ali-sanad/todo-list

eslint git github github-pages husky nx pnpm prettier react react-testing-library recoil tailwindcss typescript vite vitest

Last synced: 3 months ago
JSON representation

Todo List with React and Typescript

Awesome Lists containing this project

README

          

## Todo List Application

### Layout

|Mobile|Desktop|
|------|----------|
|![Screenshot 2024-12-21 181339](https://github.com/user-attachments/assets/a7d198bf-050b-4654-bc08-f77fbfa1a99a)|![Screenshot 2024-12-21 181405](https://github.com/user-attachments/assets/c9a54590-9273-4a61-a34c-88d46d142179)|

### Features

- Add, remove, and toggle completion of todos.
- Clean and responsive UI built with Tailwind CSS.
- State management using Recoil for global state handling.

### Tech Stack

#### 1. **Tailwind CSS**

- Tailwind CSS is used for styling the application with a utility-first approach.

#### 2. **React**

- React is used for building the UI components and managing the rendering of the Todo List.

#### 3. **RecoilJS**

- RecoilJS is utilized for state management, making it easy to manage the todos in a global state with simple hooks and atoms.

#### 4. **TypeScript**

- TypeScript is used to ensure type safety and improve the developer experience by providing better tooling, autocompletion, and error checking.

#### 5. **NX**

- NX is used for managing and scaling the project. It helps with running tasks such as building, linting, testing, and serving the application.

#### 6. **React Testing Library (RTL) & Vitest**

#### 7. **Pnpm, Vite, ESlint, Prettier, and Husky (pre-commit hook)**

### Usage

- Clone the repo
- Install the dependencies

```
pnpm install
```

- Run the application locally

```
pnpm dev
```

- Run the test suits

```
pnpm test
```