PUPR - JFPU

Project Overview

PUPR JFPU is a web-based application designed to streamline the document promotion process for employees at various levels. The platform facilitates the submission and review of promotion requests by guiding users through multiple predefined stages. At each stage, relevant documents are uploaded and then reviewed by higher-level authorities responsible for assessing promotion and rank upgrades.

Key Features

  • Document Submission for Promotion:

    • Enables employees to upload all required documents as part of the promotion process directly via a user-friendly web interface.
  • Document History Tracking:

    • Maintains a complete audit trail of each document from initial submission until final approval or decline at every stage.
  • Admin Dashboard Monitoring:

    • Offers a centralized dashboard for administrators to monitor employees overall document submission records and promotion progress.
  • Real-Time Push Notifications:

    • Automatically sends push notifications to relevant users whenever a document changes its status—whether it advances a stage, is declined, or completes the process.

Technologies and Stack

  • Backend Architecture:

    • Built as a monolithic application using Node.js with TypeScript.
    • Utilizes Express.js for the HTTP framework.
    • Uses Sequelize ORM to interact with a MySQL database.
  • Frontend Development:

    • Developed using React.js with TypeScript for a robust and dynamic user interface.
  • Database Infrastructure:

    • Uses MySQL as the main data storage solution, chosen for its robust reliability and high performance.
  • Testing Frameworks:

    • Conducts unit testing with Mocha, Chai, and Sinon.
    • Performs integration testing using Supertest.
  • Email Notification:

    • Implements email reminders and notifications through Nodemailer.

My Role and Responsibilities

  • RESTful API Creation:

    • Joined the project mid-stream and developed RESTful APIs for the frontend, focusing on efficient, reliable endpoints to meet the project’s functional requirements.
  • Email Notification:

    • Configured Nodemailer to manage automated email notifications, ensuring timely communication of task updates and other critical alerts.
  • Task Management & API Documentation:

    • Assisted in updating project tasks and tracked progress, while documenting detailed API request inputs and responses in Notion to provide clear guidelines for frontend developers.
  • Unit Testing:

    • Developed extensive unit tests for backend services using Mocha as the test runner, Chai for assertions, and Sinon for mocking and stubbing.
  • Integration Testing:

    • Created integration tests using Supertest to simulate real HTTP requests, ensuring that APIs functioned correctly when components interacted.

Get In Touch

For business inquiries, collaborations, or further discussion about my projects, please feel free to reach out via email at [email protected]. You can also follow my work and stay updated on the latest developments by connecting with me on GitHub, LinkedIn, and Instagram.


Stay Curious and Happy Coding !!


← Back to projects