+ Axk
Sounds like a reasonable approach to me.
To measure the current I would suggest, though, that you use a high-side current sense amplifier which is made for your job.
This would implement thm_w's technique, but all the work is done for you.

The MAX4080 is an example:
https://datasheets.maximintegrated.com/en/ds/MAX4080-MAX4081.pdfFURTHER THOUGHTS
Do you really want to determine current, power or energy or all three?
I suggest that you measure, the instantaneous voltage and current and from these two parameters, plus time, you can derive all three of the above values.
In any case, your best bet is to use one of the Arduino microcontrollers, which have an on-board 6 channel (or more) 10 bit ADC.
Arduinos are dirt cheap and only minimal programming would be required.
If you have no experience with Arduinos or programming, still go for this approach and have fun learning- it's dead easy these days with all the support that is freely available on the net.
https://www.arduino.cc/en/Guide/IntroductionPS: I haven't checked but I believe you can get DC current sensor modules (called shields in the Arduino world) for the Arduino. If so you could be up and running with little hardware work. Maybe the popular ASC712 AC current senor shield would do your job, perhaps with a couple of modifications.