Project Outline - tempus-app/wiki GitHub Wiki

🗺️ Project Outline

💫 Project Description

Tempus is a Hire to Retire Resource onboarding and timesheet tracking web application. Resources are onboarded with their resumes (parsed and formatted by the system) in order to be matched to projects with potential clients. Clients can set up projects on Tempus to set billable hours and budget their work. Resources can track their hours, and projects that require supervisor approval can be tracked as well.

Projects and resources are at the heart of the application. Tempus provides an all-in-one portal for clients to match potential resources to projects while allowing resources to track their billable hours.

😀 Team Members and Roles

Member Name Project Manager UI/UX Designer QA Architect (TBD) DevOps Developer Requirements Manager
Gabriel Granata
Aman Riat
Afrah Ali ✔ (Lead)
Mustafa Ali
Ruwani De Alwis
Georges Chamoun

🎯 Objectives

  • Create a hire to retire system that includes onboarding and timesheet tracking
    • Onboarding:
      • Applicants and their resumes will be parsed and standardized
      • Parsed resumes can be used to match applicants to clients and once matched they will officially become contracted
    • Timesheet:
      • Contracted users will submit timesheets that can be used to bill clients
      • Business owners can generate billing and cost reports
      • Various levels of timesheet management such as approval, late notices, etc
  • Benefit to Customer
    • Save major costs from subscribing to a system that does not do all their desired goals
    • Keep track of applicants even if they have not been originally matched to a client
  • Key things to accomplish
    • Onboarding system to parse resume, save applicants, and accept applicants to the CAL & Associates workspace
    • Timesheet system to manage timesheets, generate billing and cost reports, and manage resources
  • Criteria for success
    • Onboarding application accomplishes main features as mentioned above
    • Timesheet application accomplishes main features as mentioned above
    • Deployment of system as a whole

🏠 Anticipated Architecture

  • The server will be built with NestJS framework
  • The frontend will be built with Angular
  • The design and implementation will follow the DDD(domain-driven design) pattern
  • Deployment
    • TBD but the Azure platform will most likely be used to deploy the app
  • Database
    • TBD but a sql based database is preferred

🔦 Anticipated Risks

  • Resume Parsing
    • Many solutions exist but they are paid
    • We have to research/determine if an open source solution can work for our needs or we build our own kind

⚖️ Legal and social Issues

  • Resumes may contain photos so it is vital to not store any photos of candidates
  • The retention period of an employee is sensitive information so the database must be properly secure
  • Timesheet tracking and profile creation can easily be manipulated through targeted attacks
    • To combat this sign up should be limited and a single person should not be able to create 1000s of accounts to overload the system
    • MFA must be used with accounts to limit hacking and manipulation of accounts

🛣️ Initial Plan for First Release

  • The initial MVP will be released by the end of March which will include the full onboarding application and some of the timesheet
    • A more detailed plan can be found in the project roadmap