Skip to content

πŸš€ A minimalist MERN stack task manager built for focus, combining secure authentication with full CRUD functionality and smart filtering.

Notifications You must be signed in to change notification settings

aaditya0004/taskzen-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

βœ… TaskZen – A Smart MERN Stack Task Manager

🌐 Live Demo


TaskZen is a full-stack MERN web application designed to help users manage their daily tasks with a clean, intuitive, and distraction-free user interface. It provides robust user authentication and a full suite of CRUD (Create, Read, Update, Delete) functionalities for tasks.


✨ Key Features

  • User Authentication: Secure user registration and login using JSON Web Tokens (JWT).
  • Password Security: Passwords are encrypted using bcryptjs before being stored.
  • Full Task Management:
    • Create: Add new tasks with a title and description.
    • Edit: Modify existing tasks seamlessly.
    • Delete: Remove tasks that are no longer needed.
    • Toggle Completion: Mark tasks as "Complete" or "Incomplete" with a single click.
  • Filtering & Searching:
    • Filter tasks by status (All, Completed, Incomplete).
    • Search for specific tasks by their title.
    • Sort tasks to show the most recently created ones first.
  • Responsive Design: A fluid and modern UI that works perfectly on desktops, tablets, and mobile devices.

πŸ› οΈ Built With

This project was built using the following technologies:

Frontend Backend Database Authentication
React NodeJS MongoDB JWT
Vite Express.js Mongoose Bcrypt.js
Axios
CSS3

πŸš€ Getting Started

To get a local copy up and running, please follow these simple steps.

Prerequisites

You must have the following installed on your machine:

  • Node.js (v18.x or later)
  • npm (Node Package Manager)
  • Git

Installation

  1. Clone the repository

    git clone [https://github.com/aaditya0004/taskzen-project.git](https://github.com/aaditya0004/taskzen-project.git)
    cd taskzen-project
  2. Set up the Backend

    # Navigate to the backend folder
    cd taskzen-backend
    
    # Install NPM packages
    npm install
    
    # Create a .env file in this directory and add the variables below
    touch .env
    
    # Start the backend server
    npm start
  3. Set up the Frontend

    # Navigate to the frontend folder (from the root directory)
    cd taskzen-frontend
    
    # Install NPM packages
    npm install
    
    # Create a .env file in this directory and add the variable below
    touch .env
    
    # Start the frontend development server
    npm run dev

The frontend will be available at http://localhost:5173 and the backend at http://localhost:5000.


πŸ”‘ Environment Variables

To run this project, you will need to add the following environment variables to your .env files. Remember to replace the placeholder values with your actual secrets.

taskzen-backend/.env


πŸ“ API Endpoints

The backend provides the following RESTful API endpoints:

Method Endpoint Description Requires Auth
POST /api/users/register Register a new user No
POST /api/users/login Log in a user and get a JWT No
GET /api/tasks Get all tasks for the logged-in user Yes
POST /api/tasks Create a new task Yes
PUT /api/tasks/:id Update an existing task Yes
DELETE /api/tasks/:id Delete a task Yes

πŸ™‹β€β™‚οΈ Author

Aaditya Tyagi

About

πŸš€ A minimalist MERN stack task manager built for focus, combining secure authentication with full CRUD functionality and smart filtering.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published