Full-stack application built with TypeScript, Prisma, Express, and React. The entire application is containerized with Docker and uses Prisma in the backend as an ORM to connect to PostgreSQL database. The frontend is built with React and Tailwind CSS for UI. Includes employee management and wage data handling features with currency conversion.
The backend API handles wage data and access requests. It calculates an employee's available balance and processes wage access requests considering the employee's available balance. The API uses JSON for input/output, which includes employee details and request statuses.
The frontend is a simple web application that allows employees to view their available balance and submit requests for wage access. The interface is user-friendly and responsive.
The database schema is set up to store users, wage information, and requests. PostgreSQL is used as the database.
- Docker
- Git
The backend, frontend, and database are containerized using Docker. A docker-compose
file is provided for easy local deployment.
- Clone this repository to your local machine.
git clone <repository_url>
- Navigate to the cloned folder
cd wages-challenge
-
Run
docker-compose up --build
in the root directory and wait for the application to start. -
Access the frontend application at
http://localhost:3000
. Alternative ports are:- Backend API:
http://localhost:3001
- Database:
http://localhost:5432
- Backend API: