Case Study: Tassei Task Manager

I built a dashboard-style task manager web app using Node.js, EJS, HTML, and CSS. It features dynamic routing, seamless MongoDB integration, and async backend communication. The app makes managing tasks simple, fast, and responsive in real time.

HTML

CSS

EJS

Node.js

MongoDB

Goals

  • Create a web-app which can quickly and effectively communicated with MongoDB
  • Implement all aspects of CRUD
  • Create an easy to use user dashboard interface

Challenges and Skills developed:

Master all aspects of the Javascript Date Object

The Javascript Date Object is a well-defined object within Javascript. This requires a deep understanding to be able to use it effective. As an object it is able to be manipulated and changed easily; however, to render the necessary components of the date on the frontend requires a great deal of manipulation and format changes. Furthermore, passing the date object from the database to the backend to the frontend and to the javascript file on the front end changes it’s form from a date object to a string. To complete calculations and comparative operation, it was necessary to convert the object several times.

Communicate database values from backend to front end to external Javascript files

This aspect was particularly challenging. Throughout my experience with Node.js and EJS, I haven’t had a need to pass the backend variables to an external frontend Javascript file. EJS provides a helpful foundation for rendering Javascript functionality in the frontend, but to be able to properly perform DOM functions and functional logic, a linked Javascript file is necessary.

Create and implement complex logic functions in Javascript

By developing reusable functions in Javascript, the code and logic became much easier to read and use. Some functions required many layers of functionality and varying levels of complexity. Organizing and an accessing these functions became essential in this project.

Future project development:

Remaster the code from an EJS based frontend into a React.js framework

At its current level, this project is able to update and render fairly quickly and effectively; however, based in React the project would allow for the rendering of changes without refreshing the browser or re-routing. Furthermore, the file structure would provide for a cleaner more effective layout that is readable

Create a user login so that different users can access and manage their “personal database” of tasks

A login function would allow for a restructured database and a more effective rendering of the tasks. This would personalize the task manager for a specific user and call the relevant user data from the database

Integrate the Task Manager app into a larger Project for Businesses to manage employees, schedules, and news

As a simple project the Task Manager app can perform many functions which can be integrated into a larger app. Ideally, the task manager would be built into a larger app which would be a work management app. Here, managers and supervisors can assign tasks and schedules that would be viewable to the employee. Furthermore, the employee can submit requests and documentation to management allowing for fluid communication between management and staff without being face-to-face