Thin Film Solar Cells: Fabrication, Characterization and App