/Expense-Management-Software-Backend

Backend services for an automated solution to record and report business expenses.

Primary LanguageJava

Expense Management Software [Backend]

Coded By: Rishabh Srivastava, Puneet Mangla, Bhanu Ailani, Abhishek Shaw

In these times of digitalization, all major organizations are aiming to automate most of their processes for better convenience. One important task for an organization involves filing of expenses by employees for claiming reimbursements. These expenses also need to be approved / rejected by the appropriate authority.

A web application based on react-redux at frontend, and Java and PostgreSQL at backend has been built to provide an automated solution to record and report business expenses.

This repository includes all the codes for the backend portion of Expense Management System website.

The Swagger UI based documentation for API calls can be found here.

Database

The database has 6 tables :

  • Employees - To store details of employees registered with the organization. An employee can have one of the following role :
    • Administrator
    • Project Manager
    • Software Development Engineer
  • Clients - To store details of clients working with the organization.
  • Projects - To store details of the projects. All projects are associated with a client, and have a team of different employees, with one of employees as the Project Manager.
  • Expenses - To store details of the expenses filed by an employee.
  • Documents - To store documents that are submitted while filing expenses by an employee.
  • Employee_projects - To store association of projects and the employees that are associated with the project.

Class Diagram

Interaction Diagram

Notes

  1. The frontend code for this project can be accessed at this repo.
  2. Both the frontend and backend components of the project have been hosted at Heroku.