An AI banking evaluation tool to assess loan for installation of Solar panels for domestic and commercial usage
- Front End - React JS / Typescript / Axios
- Back End - Java 17 / Springboot
- Cloud - Google Cloud Platform / Firebase / Firestore Database
- Machine Learning - Python / LinearRegression / StandardScaler / pickle
||_slr-python-solar-irradance-predictor - AI Model
|| |-global_heat_index.csv (dataset)
|| |-Solar_Radiation_model.ipynb
||
||_slr-react-frontend-app - UI Application
|| |-public
|| |-src
|| |-package.json
|| |-tsconfig.json
||
||_slr-sprint-backend-app - Rest API + GCP Cloud Configuration
|| |-src
|| |-main
|| |-resources
|| |-serviceAccount.json (GCP Cloud Configuration)
|| |-target
|| |-pom.xml
Then
- Fork/clone this repo
- If you are opening in vscode, then you need to install
Jupyter lab
. For installation click here - On vscode terminal
cd slr-python-solar-irradance-predictor
- Run
jupyter lab
- The application will run on port
8888
- You can also run it in Google Colab
- Follow instructions in this link to run it on Google Colab
Then
- Fork/clone this repo.
cd slr-react-frontend-app
npm install
- The local server will be up on
3000
Then
- Fork/clone this repo and open in IntelliJ
cd slr-spring-backend-app
mvn clean install
- Click on debug or run icon
- On successfully build the spring application will run on port
8080
The following information is provided for the purpose of sharing specific details relevant to this project. While every effort has been made to ensure the accuracy and completeness of the information, it is shared with the understanding that there may be omissions. Please see as below:
-
Since, I am using GCP Firebase for cloud integration in my project, I have to create
serviceAccount.json
file from firebase console and consume it in our Java application. As this file contains extremely confidential infomation which contains private keys and account information. The information in the file is ommited from theslr-spring-backend-app/src/main/resources/serviceAccount.json
. You can create your serviceAccount.json by following below stepsa. Go to https://console.cloud.google.com/apis/credentials b. On the top left there is a blue "create credentials" button click it and select "service account key." (see below if its not there) c. Choose the service account you want, and select "JSON" as the key type d. It should allow give you a json to download e. Copy and paste in the following path slr-spring-backend-app/src/main/resources
-
For simplicity, the Python model has not been deployed as a REST API. Initially, the plan was to deploy it using Flask and connect it with our Java REST API using RestTemplate. However, due to time constraints, the focus has been on building the prototype to demonstrate the application's real-time functionality and provide tangible outputs. Nevertheless, the model can still be run as a standalone application. We have mocked the python model response in
slr-spring-backend-app/src/main/java/com/gouravrc/solaris/service/ApplicationOfficerService.java
Line number 235. method
getSolarPredictedValue()
Click here to jump in -
I have mocked the location details and embeded inside Java application
slr-spring-backend-app/src/main/resources/mock_weather.json
Click here to jump in -
In order to run the application locally, you need to start springboot server first to run the API service in
localhost:8080
, then younpm run start
the UI application.