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

https://github.com/dev-faisal-ahmed/taskflow

This To-Do List application allows users to manage their daily tasks effectively. Users can create, categorize, and manage tasks while receiving email notifications for completed tasks. Deleted tasks are moved to a trash folder, offering easy restoration.
https://github.com/dev-faisal-ahmed/taskflow

apollo-client generative-ai graphql hasura nextjs postgresql

Last synced: 6 months ago
JSON representation

This To-Do List application allows users to manage their daily tasks effectively. Users can create, categorize, and manage tasks while receiving email notifications for completed tasks. Deleted tasks are moved to a trash folder, offering easy restoration.

Awesome Lists containing this project

README

          

# Task Flow

A feature-rich, user-friendly To-Do List application built with **Next.js**, **Hasura**, and **TypeScript**. This project includes user authentication, task management, categories, and optional AI-based task suggestions.

## Project Description

This To-Do List application allows users to manage their daily tasks effectively. Users can create, categorize, and manage tasks while receiving email notifications for completed tasks. Deleted tasks are moved to a trash folder, offering easy restoration.

## Project Overview Video : Click Here

## Features

- **User Authentication**: Secure login and signup with email.
- **To-Do Task Management**: Create, update, delete, and restore tasks.
- **Task Categories**: Organize tasks by category.
- **Email Notifications**: Automatic email notifications upon task completion.
- **Trash Folder**: Deleted tasks are stored in a trash folder for easy recovery.
- **Filtering**: Tasks can be filtered based on status, category, or search keywords.
- **Optional AI Suggestions**: Generate task description using AI.

## Technologies Used

- **Next.js**: Server-side rendering and static site generation.
- **Hasura**: Real-time GraphQL engine for managing data and handling APIs.
- **TypeScript**: Type safety and enhanced development experience.
- **Apollo Client**: GraphQL client for managing remote data fetching.
- **PostgreSQL**: Database for storing tasks, users, and categories.
- **GraphQL**: API layer for querying and mutating data.
- **Tailwind CSS and Shadcn-UI**: Utility-first CSS framework for styling the application.
- **Nodemailer**: Email notification service.

## How to Run This Project Locally

Follow these steps to run the project on your local machine:

### 1. Clone the Repository

```bash
git clone https://github.com/dev-faisal-ahmed/TaskFlow
cd TaskFlow
```

### 2. Install Dependencies

Make sure you have Node.js installed, then install the required dependencies:

```bash
npm install
```

### 3. Set Up Environment Variables

Create a `.env` file in the root directory and add the following environment variables:

```bash
NEXT_PUBLIC_HASURA_HTTP_URI=""
NEXT_PUBLIC_HASURA_META_DATA_API=""
NEXT_PUBLIC_HASURA_WS_LINK=""
NEXT_PUBLIC_HASURA_ADMIN_SECRET=""
NEXT_PUBLIC_SALT=""
NEXTAUTH_SECRET=""
NEXTAUTH_URL=""
GMAIL_ID=""
GMAIL_PASS=""
API_KEY=""
```

### 4. Run the Development Server

Start the Next.js development server:

```bash
npm run dev
```

The app will be available at `http://localhost:3000`.

## Future Enhancements

- **AI-based Task Suggestions**: Use AI to suggest tasks to users based on tittle he/she has written.
- **Mobile Optimization**: Improved UI/UX for mobile responsiveness.

## Live Site Link : Click Here

## Demo Account

- **UserEmail**: faisal.ahmed.20.35.197@gmail.com
- **Password**: 1234