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.
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
Project Gallery
Future Improvements
- Push Notifications: Implement real-time notifications for task deadlines and updates.
- AI Integration: Add an AI assistant feature to suggest task prioritization or offer reminders.
- Progress Tracking: Add task progress-tracking features, like completion percentages and time management tools.
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.