This work provides a comprehensive review of data preprocessing and machine learning approaches applied to estimate a battery's state of charge (SOC) and state of health (SOH) over the past five years. The standard procedure for preprocessing battery time series data and the associated techniques to address inherent challenges are described. Dominant machine learning architectures and their applications in SOC and SOH estimation are explored. Additionally, potential directions for future research are highlighted.