Skip to content

Latest commit

 

History

History
179 lines (128 loc) · 3.23 KB

File metadata and controls

179 lines (128 loc) · 3.23 KB

🚀 TaskPulse

A modern full-stack task management application that helps users organize, prioritize, and manage daily tasks with a clean interface and secure authentication.


📖 Overview

TaskPulse is designed to simplify task management by allowing users to create, organize, search, and track tasks based on their priority and completion status. It features secure authentication using JWT and provides an intuitive dashboard for efficient productivity.


✨ Features

Authentication

  • Secure user registration and login
  • Search tasks instantly by title
  • JWT-based authentication
  • HTTP-only cookie authentication
  • Protected routes

Task Management

  • Create new tasks
  • Edit existing tasks
  • Delete tasks
  • Mark tasks as Completed or Pending
  • Organize tasks by priority

Dashboard

  • Clean and responsive user interface
  • Real-time task search
  • Priority-wise task organization
  • Instant UI updates after task operations

🛠 Tech Stack

Frontend

  • React
  • Vite
  • React Router DOM
  • CSS3

Backend

  • Node.js
  • Express.js
  • MongoDB Atlas
  • Mongoose
  • JSON Web Token (JWT)
  • Cookie Parser
  • CORS

Deployment

  • Render (Frontend)
  • Render (Backend)
  • MongoDB Atlas

📂 Project Structure

TaskPulse/
│
├── Backend/
│   ├── config/
│   ├── controllers/
│   ├── middleware/
│   ├── models/
│   ├── routes/
│   ├── utils/
│   ├── server.js
│   └── package.json
│
├── Frontend/
│   ├── public/
│   ├── src/
│   ├── package.json
│   └── vite.config.js
│
└── README.md

🚀 Getting Started

1. Clone the Repository

git clone <repository-url>
cd TaskPulse

2. Backend Setup

cd Backend
npm install
npm start

The backend will start on the configured port.


3. Frontend Setup

cd Frontend
npm install
npm run dev

The frontend will be available at:

http://localhost:5173

🌐 API Endpoints

Authentication

Method Endpoint Description
POST /users/register Register a new user
POST /users/login Login user
POST /users/logout Logout the current user

Tasks

Method Endpoint Description
GET /tasks Retrieve all tasks
POST /tasks Create a new task
PUT /tasks/:id Update an existing task
DELETE /tasks/:id Delete a task

🔒 Authentication

TaskPulse uses JWT (JSON Web Tokens) stored in HTTP-only cookies to authenticate users and secure protected routes.


🎯 Future Improvements

  • 📅 Due dates and reminders
  • 📊 Task analytics
  • 📌 Drag-and-drop task organization
  • 📱 Improved mobile experience

👨‍💻 Author

Monia Voona


⭐ Support

If you found this project useful, consider giving it a ⭐ Star on GitHub. It helps others discover the project and motivates future improvements.


Made with ❤️ using React, Node.js, Express.js, and MongoDB