TaskTree Mobile Application

The TaskTree is a full-stack web and mobile application that allows users to create, manage, and organize tasks, projects, and notes. Users can categorize their tasks with subcategories, ensuring streamlined organization. Each user has a personalized dashboard that displays their tasks, and the app securely manages user authentication with JWT-based login functionality.

TaskTree Overview

Note: The server may take a few moments to start up when accessing the live demo. Please be patient if there's a slight delay.

Key Features

  • User Registration and Authentication: Secure login and registration with encrypted passwords and JWT token-based authentication.
  • Task, Project, and Note Management: Users can create, update, and delete tasks, projects, and notes with subcategories.
  • User-Specific Data: Only the tasks created by a logged-in user are visible to that user.
  • Subcategory Management: Each task or project can have multiple subcategories for more granular organization.
  • Real-Time User Authentication: Token-based authentication to secure routes and user-specific data.
  • Search Functionality: Users can search for tasks, projects, and notes by name.

Technologies Used

  • Frontend: React.js, CSS for UI/UX, Netlify (for deployment)
  • Backend: Node.js, Express.js, Render (for deployment)
  • Database: MongoDB with Mongoose for database modeling
  • Authentication: JWT (JSON Web Tokens) for user sessions
  • Libraries: Axios for HTTP requests, bcrypt for password hashing, jwt-decode for token decoding

Future Improvements

Reflection

This project allowed me to develop a comprehensive full-stack application that focuses on user management, authentication, and dynamic data management. It was rewarding to see the smooth integration of both frontend and backend, with real-time user data reflecting in the UI.