FOR individuals that are seeking for an efficient task management application WHO struggle to stay organized and meet deadlines, THE TaskFlow is an application THAT streamlines organization, prioritization, and tracking deadlines for increased productivity. UNLIKE other task management apps that offer basic task lists without tailored features and suggestions, MY app provides a user-friendly interface, customizable features and reminders, and achievements for accomplishing tasks.
-
Clone the repo with HTTPS or SSH
git clone https://github.com/shotea/taskflow.git
-
Install NPM packages
npm install
-
Run the app
npm run dev
- Fill out the form to create a new task
- Select deadline date and check remind me button (currently true/false)
- Click Submit
- Select date on calendar to view tasks
- Click ListView to see a list of all saved tasks
Currently, tasks are not saved serverside therefore closing the tab will delete all tasks that have been made.
- Security - To ensure the security of TaskFlow, we would need to protect user data, implement proper authentication and authorization mechanisms, and securing connection and communication between TaskFlow and the client.
- Performance - To ensure TaskFlow can perform activities quickly and efficiently, I would need to use database queries, caching frequently handled data, and have options for future scalability to handle heavy load.
- Software Reuse - By using open-source software such as React, I save development time and effort. However, this will constrain me to certain architectural choices.
- Scalability - In order for TaskFlow to continue growth, I need to consider designing the architecture in a way that allows for quikc and efficient scaling up and down. Would need to implement technologies that support horizontal scaling such as distributed databases and load balancers.
- Software Compatability - It is important to maintain software compatability with other software systems because not every user uses the same devices and systems. Users and clients might need to import or export data between different systems.
- Web-based Interface
- Authentication
- Application-specific Functionality
- Database Management
-
Web-based Interface: Web Browser, TaskFlow App
-
Authentication: User Management, Task Management Logic
-
Application-specific Functionality: Task Services, Notification System
-
Database Management: User Storage, Application Storage, Logging and Monitoring
- Database - NoSQL database because it is flexible to add document oriented data.
- Platform - Web platform called Netlify to host our web application.
- Server - AWS cloud server is the server that Netlify is using.
- Open Source - React App and for our dependencies we used React-Router-Dom, React-Calendar, Firebase, and React-Notifications.
- Development Tools - VS Code to help us code our web application.