One great free resource for learning a language is duolingo.
It is an app and a website.
Duolingo feels like a game. It helps your grammar, reading, listening, and vocabulary.
I recommend duolingo practice to everybody. Maybe it is not enough alone, but it is very helpful.
I am using duolingo for Intermediate Russian and Beginning French.
I studied Russian in college for all eight semesters. For one semester, I studied in Russia. I learned a lot but it was very difficult for me. My level was maybe high-intermediate. After college, I quit Russian.
When I began studying Russian with duolingo on my smartphone, it gave me a placement test. Then, in each smaller section, there is the opportunity to take a quiz. If you pass the quiz, you can skip those lessons. This way, you only spend time on what you need.
Duolingo teaches differently than they taught in college. I think duolingo is better. Duolingo’s lessons are more conversational. They are more focused. They are more useful. Duolingo does not ask me to memorize charts. It does not give me a long list of vocabulary words. It does not confuse me.
I started French at the very beginning with duolingo. The basics have been great: clear and focused and useful.
In both Intermediate Russian and Beginner French, I am very happy with duolingo. The lessons are fun and short. They feel like playing a game. They are smart about using vocabulary and grammar. There is always review. They do not give you too many new words or grammar forms at once.
In my opinion, the weakness of duolingo is with speaking. My Russian pronunciation is OK, but I had a lot of practice with real people in college. My French pronunciation is probably a disaster. Duolingo can’t really test my pronunciation (though it tries sometimes). I will need to study with real people to help my French pronunciation.
Overall, I am very impressed with duolingo! I hope you will try it!