Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 3.1 KB

File metadata and controls

64 lines (47 loc) · 3.1 KB

Express server for the timesheet app project

This repo is an express server instance for the Task managment app project. The frontend is maintained separeately built using React, maintained in another repository

Still under development.

The idea behind this project is to build a task management app, to keep track of tasks, time spend on each task and also generate invoices for the tasks. The project has 2 routes Tasks and Invoices. Additional details:

  • Tasks handles the create, update and delete of tasks. Fields - task details, time spent on task and a field for invoice status check. This route is complete.
  • Invoices handles the invoice creation. When an invoice creation in initiated all the non-invoiced tasks are bundled and an invoice is generated. Still under development

Code Overview

Features

Models

Tasks

Key Additional Info
Date Date type
Task String type, task details
Hours Number type, time spend on a task in hours with default set to 0.25 (15 mins)
Invoiced Boolean time, default set to false

Invoices

Key Additional Info
Invoice number Number type
Date Date type, default now
Rate Currency type, the hourly rate at which the invoice needs to be generated
Total Hours Number, total invoice hours
Amount Total invoice amount
Tasks An object of task ids for which the invoice is generated for, for any features to be added in the future
invoice file invoice file name

Prerequisites

Getting Started

To get the server running locally:

  • Clone this repo
  • npm install to install all required dependencies.
  • rename .env.example to .env and fill in the details.
  • npm start to start the server.
  • npm run watch to restart the server after file change.
  • npm run test to run test using Jest and Supertest.