Skip to content

msieteee/Task-Management-Application

Repository files navigation

Task Management Application

A simple Task Management API built with Node.js, Express, Sequelize, and MySQL. Supports user registration, login, and simple CRUD operations for tasks.

It was completed as a technical assessment for an application to a local telecommunications company in the Philippines, with a one-day time constraint.

The goal of the exercise was to demonstrate my understanding of core frontend concepts, application state management, and interaction with data flows within a limited timeframe.


Run with Docker

docker-compose up --build

After running docker-compose up --build, you can access the backend at http://localhost:3000 and frontend at http://localhost:8080.

API Endpoints

Method Endpoint Description
POST /api/user Register new user
POST /api/login Login and get JWT
POST /api/task Create task
GET /api/task/:user_id Get user’s tasks
PUT /api/task/:task_id Update task
DELETE /api/task/:task_id Delete task

Tech Stack: Node.js + Express MySQL + Sequelize JWT + bcrypt Docker + Docker Compose

Notes

  • Ensure the MySQL container is running and healthy before starting the app.
  • Environment variables (e.g., DB credentials) are configured in docker-compose.yml.
  • All responses are in JSON format.
  • Error codes and messages are currently logged to the console (for testing purposes only).
  • JWT tokens expire after 12 hours and use "TEST" as the signing key.
  • The MySQL root user is used; stored procedures and indexes were not implemented but should be considered in production.
  • TypeScript types are not defined, and many frontend styles are repeated. No design toolkit was used; styling is done with styled-components.
  • useMemo and useCallback could be applied in the frontend to avoid unnecessary re-renders when context data hasn’t changed.
  • The Docker image artifact is successfully created in GitHub Actions. However, docker load -i task-management-app.tar sometimes freezes. Root cause has not been determined yet.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published