
Neth Pehesara Botheju
Second-year Computer Science student at the University of Westminster.
Todoisty
Project Overview
Todoisty is a full-stack to-do list application that provides a sleek and user-friendly interface. It is designed with a focus on enhancing the user experience by offering practical features and an intuitive layout. The application allows users to efficiently manage their daily tasks and stay organized with minimal effort.
Features
- Users can add tasks with descriptions limited to 90 characters. Each task can optionally include a due date and a reminder with a specific time.
- The reminder system ensures users are notified at the scheduled time. If a reminder is set for a task, the application will play a notification tone when the time arrives.
- Task filtering is available to help users focus on what's important. Users can filter tasks by:
- Today: Displays tasks due today.
- Tomorrow: Displays tasks scheduled for the next day.
- Upcoming: Shows tasks scheduled for future dates.
- All Tasks: Lists every task the user has created.
Technical Implementation
BackendThe backend is developed using Node.js with the Express framework. It provides all the necessary RESTful API endpoints required for frontend communication. For data storage, the application uses a PostgreSQL database, which ensures reliable and efficient data handling.
FrontendThe frontend is built with Vue.js, offering a modern and reactive user interface. For styling, Tailwind CSS is used to create a clean, responsive, and visually appealing design. The frontend communicates with the backend through REST API calls to fetch and send data seamlessly.
Future Enhancements
- Task Labels and Filtering: Implement a labeling system where users can assign labels to tasks. Labels will help categorize tasks and allow users to filter tasks based on specific labels.
- User Authentication System: Introduce a user-based system with secure user registration and login functionality, ensuring each user has their personalized task list and settings.
- Database Migration to MongoDB: Migrate the current PostgreSQL database to MongoDB, and host the database on MongoDB Atlas for better scalability and flexibility.
- Mobile Application: Develop a mobile application to provide users with on-the-go access to their tasks, enhancing accessibility and convenience.