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.
- Host: GitHub
- URL: https://github.com/dev-faisal-ahmed/taskflow
- Owner: dev-faisal-ahmed
- Created: 2024-09-09T04:28:50.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-02-25T16:43:08.000Z (over 1 year ago)
- Last Synced: 2025-02-25T17:35:58.592Z (over 1 year ago)
- Topics: apollo-client, generative-ai, graphql, hasura, nextjs, postgresql
- Language: TypeScript
- Homepage: https://ost-task-flow.vercel.app/
- Size: 575 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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