InvestorDashboard is a full-stack application designed to manage investor information and commitments, built using a microservices architecture. This app uses a PostgreSQL database for data storage, .NET Core Web API for backend services, and React with Tailwind CSS for the frontend.
- Prerequisites
- Project Structure
- Database Setup
- Backend Services Setup
- Front End Setup
- Running the Application
- Application Screenshots
Ensure you have following installed on your system:
- PostgresSQL
- .NET 8 SDK
- Node.js(v14 or above)
- npm -- this will be installed along with Node.js installation
This code base contains two main folder viz. Prequin.Microservices/ (contains all the backend microservices) and a Client/ folder (contains the front end application investor-dashboard).
Inside the Preqin.Micrservices folder, there are 2 indepenedent services build using .NET Core Web API i.e. InvsestorService and CommitmentService.
-
Inititalize Postgres SQL Database
- Open Postgres using PgAdmin tool and create a databse with name 'prequin'
- Execute the provided SQL queries to set up the necessary tables and insert data
Note: A detailed document with table creation and insert queries can be found here.
The DB Structure should look like this:
-
Update the connection string in the appsettings.json file for both services (InvestorService and CommitmentService) to connect to your PostgreSQL instance:
The backend consists of two microservices: InvestorService and CommitmentService.
Steps to Build and Run the Services:
-
Clone the Repository:
git clone https://github.com/mohit-gogitter/prequin-assessment-mohit.gitOnce cloning is completed, navaigate to Prequin.Microservices/ folder -
cd Prequin.Microservices -
Navigate to each Service Directory and Restore Packages and build:
- For InvestorService:
cd InvestorService
dotnet restore
dotnet build - For CommitmentService:
cd CommitmentService
dotnet restore
dotnet build
- For InvestorService:
-
Run the Services: Run each service on separate terminals
- In Investor Service
dotnet run - In CommitmentService
dotnet run
Both services should start successfully on their configured ports, accessible via endpoints defined in each service.
- In Investor Service
- Navigate to fontend directory from root:
cd Client/investor-dashboard - Install Dependencies:
npm install - Start the Application:
npm start
The frontend will start on http://localhost:3000.
- Start PostgreSQL Database.
- Start InvestorService and CommitmentService (see Backend Services Setup).
- Start the Frontend Application (see Frontend Setup). Now you should have a fully functional InvestorDashboard application running locally. Open your browser and go to http://localhost:3000 to interact with the application.
API Documentation for the backend services is available using Swagger at:
InvestorService: here
CommitmentService: here