How to upload a .csv file and show it in a Table?

I have received a requirement for building an Inquiry management system.

In this system the data will come from raw .CSV files.

User will upload a .CSV file and the software will have to show it in a spreadsheet like table where user can search and sort the data and then select a bunch of records/rows.

Once these rows are selected the content of each should be copied to a table - Final Inquiry.

For this functionality I will have to build a custom app as per my understanding.

Any ideas as to how I can upload a file and show its content in a Table in FrappeFramework?

As I have never build any custom app I am stumped here.