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
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.
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