https://github.com/ankit-nautiyal/task-manager-app
πTask Manager App: An Advanced React To-Do Application with API Integration β
A simple yet efficient Task Manager App built with React.js and Redux Toolkit for seamless task management. This project is designed with state management, asynchronous API calls using Axios, and a clean, responsive UI.
https://github.com/ankit-nautiyal/task-manager-app
api axios css3 git github html5 javascript material-ui react-redux react-router react-router-dom reactjs redux redux-thunk redux-toolkit vercel-deployment weather-api
Last synced: 3 months ago
JSON representation
πTask Manager App: An Advanced React To-Do Application with API Integration β A simple yet efficient Task Manager App built with React.js and Redux Toolkit for seamless task management. This project is designed with state management, asynchronous API calls using Axios, and a clean, responsive UI.
- Host: GitHub
- URL: https://github.com/ankit-nautiyal/task-manager-app
- Owner: ankit-nautiyal
- Created: 2025-03-25T12:59:15.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-27T10:14:21.000Z (over 1 year ago)
- Last Synced: 2025-03-27T11:26:18.275Z (over 1 year ago)
- Topics: api, axios, css3, git, github, html5, javascript, material-ui, react-redux, react-router, react-router-dom, reactjs, redux, redux-thunk, redux-toolkit, vercel-deployment, weather-api
- Language: JavaScript
- Homepage: https://task-manager-app-ankit.vercel.app/
- Size: 284 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# **Task Manager App: An Advanced React To-Do Application with API Integration** πβ
A simple yet efficient **Task Manager App** built with **React.js** and **Redux Toolkit** for seamless task management. This project is designed with **state management**, **asynchronous API calls using Axios**, and a clean, responsive UI.
---
## π **Features**
βοΈ **Add Tasks** β Users can input new tasks effortlessly.
βοΈ **Mark as Done/Undo** β Click to mark a task as complete (strikethrough styling). Clicking again will undo the action.
βοΈ **Delete Tasks** β Remove tasks from the list with a single click.
βοΈ **Persisted State** β The task list persists across sessions using Redux.
βοΈ **Weather API Integration** β Fetches real-time weather data using Axios.
βοΈ **Responsive Design** β Fully functional across all screen sizes.
---
## π **Tech Stack**
- **Frontend:** HTML, CSS, JavaScript, React.js, Redux Toolkit, Material UI, React Router
- **State Management:** Redux
- **API Handling:** Axios
- **Styling:** CSS Modules
- **Build Tool:** Vite (for fast development)
---
## π· **Project Snapshots**


















---
## ποΈ **Setup & Installation**
### **Prerequisites**
Make sure you have the following installed:
- **Node.js** (v16+)
- **npm** or **yarn**
### **Step 1: Clone the Repository**
```bash
git clone https://github.com/ankit-nautiyal/Task-Manager-App.git
cd task-manager-app
```
### **Step 2: Install Dependencies**
```bash
npm install
# or
yarn install
```
### **Step 3: Set Up Environment Variables**
Create a `.env` file in the root directory and add the following:
```
VITE_API_URL=https://api.openweathermap.org/data/2.5/weather
VITE_API_KEY=your_openweather_api_key
```
> πΉ **Replace `your_openweather_api_key` with your actual API key** from [OpenWeather](https://openweathermap.org/api).
### **Step 4: Run the App**
Start the development server:
```bash
npm run dev
# or
yarn dev
```
This will start the application on `http://localhost:5173/`.
---
## ποΈ **Folder Structure**
```
π task-manager-app/
βββ π node_modules/ # Dependencies (auto-generated)
βββ π public/
β βββ π favicon.webp # Website favicon
βββ π src/
β βββ π api/ # API-related files
β β βββ π axiosClient.js # Axios instance for API calls
β β βββ π weatherAPI.js # Weather API functions
β βββ π app/
β β βββ π store.js # Redux store configuration
β βββ π components/ # Reusable UI components
β β βββ π TaskInput.jsx # Input field for tasks
β β βββ π TaskList.jsx # Task list display
β β βββ π WeatherInfo.jsx # Weather info component
β βββ π features/ # Redux slices (state management)
β β βββ π authSlice.jsx # Authentication state
β β βββ π taskSlice.jsx # Task state management
β β βββ π weatherSlice.jsx # Weather data management
β βββ π pages/ # Main page components
β β βββ π auth.jsx # Authentication page
β β βββ π home.jsx # Home page
β βββ π styles/ # CSS Module styles
β β βββ π Auth.module.css
β β βββ π TaskInput.module.css
β β βββ π TaskList.module.css
β βββ π App.css # Global styles
β βββ π App.jsx # Root component
β βββ π index.css # Main CSS file
β βββ π main.jsx # Main entry point
βββ π .env # Environment variables
βββ π .gitignore # Git ignore file
βββ π eslint.config.js # ESLint configuration
βββ π index.html # HTML entry point
βββ π package.json # Project metadata & dependencies
βββ π package-lock.json # Package lock file
βββ π README.md # Project documentation
βββ π vite.config.js # Vite configuration
```
---
## π **Usage**
1. **Add a new task**: Type in the input field and press enter.
2. **Mark task as done**: Click the task to toggle strikethrough styling.
3. **Delete task**: Click the β button to remove it.
4. **Check the weather**: Enter a city name and get real-time weather data.
---
## π **Build & Deploy**
To create a production build:
```bash
npm run build
# or
yarn build
```
To deploy on **Vercel**:
```bash
vercel --prod
```
To deploy on **Netlify**:
```bash
netlify deploy --prod
```
---
## π **License**
This project is licensed under the **MIT License**.
---
## π― **Future Improvements**
πΉ **Local Storage Integration** to persist tasks without Redux.
πΉ **Dark Mode Toggle** for a better UX.
πΉ **Animations** for smoother transitions.
---
## π€ **Contributing**
If you'd like to contribute:
1. Fork the repo
2. Create a feature branch (`git checkout -b feature-branch`)
3. Commit changes (`git commit -m "Added new feature"`)
4. Push to GitHub (`git push origin feature-branch`)
5. Open a Pull Request π
---
## β **Support & Feedback**
If you like this project, don't forget to **star π** the repo!
For feedback, open an issue or contact me at: **nautiyalankit65@gmail.com**
---
### π **Happy Coding!** π