Can I expand a project using only Blueprints which was made using C++?

Yes. Blueprints are classes same as C++ (go see class viewer), 95% nodes you see in blueprints are direct bindings of C++ functions (you only need to place BlueprintCallable or BlueprintPure in UFUNCTION), you just extend your C++ class in blueprint and add blueprint code to it whatever you like. You can use events to call out Blueprint code from C++

BlueprintImplementableEvent event usable only in blueprint

BlueprintNativeEvent event usable in both C++ and Blueprint

Delegate event which allows to bind any function in C++ and Blueprint

Here docs showing exemple of class that uses both C++ and blueprint:

Since it a lot easier to set u components in blueprints i personally do base C++ class and then extend it with blueprint or bluyeprints to make class more editable in editor